Bläddra i källkod

* Dotted filenames for package opengl

Michaël Van Canneyt 2 år sedan
förälder
incheckning
2c84e82e67

+ 3 - 0
packages/opengl/namespaced/Api.OpenGL.Freeglut.pp

@@ -0,0 +1,3 @@
+unit Api.OpenGL.Freeglut;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i freeglut.pp}

+ 3 - 0
packages/opengl/namespaced/Api.OpenGL.Gl.pp

@@ -0,0 +1,3 @@
+unit Api.OpenGL.Gl;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i gl.pp}

+ 3 - 0
packages/opengl/namespaced/Api.OpenGL.Glext.pp

@@ -0,0 +1,3 @@
+unit Api.OpenGL.Glext;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i glext.pp}

+ 3 - 0
packages/opengl/namespaced/Api.OpenGL.Glu.pp

@@ -0,0 +1,3 @@
+unit Api.OpenGL.Glu;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i glu.pp}

+ 3 - 0
packages/opengl/namespaced/Api.OpenGL.Glut.pp

@@ -0,0 +1,3 @@
+unit Api.OpenGL.Glut;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i glut.pp}

+ 3 - 0
packages/opengl/namespaced/Api.OpenGL.Glx.pp

@@ -0,0 +1,3 @@
+unit Api.OpenGL.Glx;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i glx.pp}

+ 8 - 0
packages/opengl/namespaces.lst

@@ -0,0 +1,8 @@
+src/glx.pp=namespaced/Api.OpenGL.Glx.pp
+{s*:src/}=namespaced/
+{i+:src/}
+src/freeglut.pp=namespaced/Api.OpenGL.Freeglut.pp
+src/glut.pp=namespaced/Api.OpenGL.Glut.pp
+src/glext.pp=namespaced/Api.OpenGL.Glext.pp
+src/glu.pp=namespaced/Api.OpenGL.Glu.pp
+src/gl.pp=namespaced/Api.OpenGL.Gl.pp

+ 6 - 0
packages/opengl/src/freeglut.pp

@@ -8,7 +8,9 @@
   Omitted is only deprecated stuff, and glutGetProcAddress
   (which is not needed as we have nice glext unit in FPC). }
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit FreeGlut;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$mode Delphi} {< to keep assignments to proc vars look the same as in glut.pp }
 {$MACRO ON}
@@ -21,7 +23,11 @@ unit FreeGlut;
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.DynLibs, Api.OpenGL.Gl, Api.OpenGL.Glut;
+{$ELSE FPC_DOTTEDUNITS}
 uses DynLibs, GL, Glut;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TGLdouble3 = array [0..2] of GLdouble;

+ 21 - 0
packages/opengl/src/gl.pp

@@ -50,10 +50,25 @@
   {$ENDIF}
 {$ENDIF}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit GL;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils,
+  {$IFDEF Windows}
+  WinApi.Windows, System.DynLibs
+  {$ELSE WinApi.Windows}
+  {$IFDEF MorphOS}
+  MorphApi.Tinygl
+  {$ELSE MorphOS}
+  System.DynLibs
+  {$ENDIF MorphOS}
+  {$ENDIF Windows};
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils,
   {$IFDEF Windows}
@@ -65,6 +80,7 @@ uses
   dynlibs
   {$ENDIF MorphOS}
   {$ENDIF Windows};
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$IFNDEF MORPHOS}
 var
@@ -1504,8 +1520,13 @@ procedure FreeOpenGL;
 implementation
 
 {$if defined(cpui386) or defined(cpux86_64)}
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Math;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   math;
+{$ENDIF FPC_DOTTEDUNITS}
 {$endif}
 
 {$ifdef windows}

+ 14 - 1
packages/opengl/src/glext.pp

@@ -13,7 +13,9 @@
   {$DEFINE extdecl:=cdecl }
 {$ENDIF}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit GLext;
+{$ENDIF FPC_DOTTEDUNITS}
 
 (**************************************************
  *        OpenGL extension loading library        *
@@ -25,14 +27,25 @@ unit GLext;
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
 uses
-SysUtils,
+  System.SysUtils,
+  {$IFDEF Windows}
+  WinApi.Windows,
+  {$ELSE}
+  System.DynLibs,
+  {$ENDIF}
+  Api.OpenGL.Gl;
+{$ELSE FPC_DOTTEDUNITS}
+uses
+  SysUtils,
   {$IFDEF Windows}
   Windows,
   {$ELSE}
   dynlibs,
   {$ENDIF}
   GL;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$IFDEF Windows}
 { Declared in Windows unit as well in FPC; but declared here as well, to be

+ 20 - 0
packages/opengl/src/glu.pp

@@ -40,7 +40,9 @@
 {$DEFINE GLU_UNIT}
 {$ENDIF}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit glu;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 
 {
@@ -55,6 +57,18 @@ interface
     glu.pp
 }
     
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils,
+  {$IFDEF Windows}
+  WinApi.Windows,
+  {$ELSE}
+  {$IFDEF MORPHOS}
+  MorphApi.Tinygl,
+  {$ENDIF}
+  {$ENDIF}
+  Api.OpenGL.Gl;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils,
   {$IFDEF Windows}
@@ -65,6 +79,7 @@ uses
   {$ENDIF}
   {$ENDIF}
   GL;
+{$ENDIF FPC_DOTTEDUNITS}
 
 Const
 {$if defined(Windows)}
@@ -414,8 +429,13 @@ implementation
 
 {$ELSE MORPHOS}
 
+{$IFDEF FPC_DOTTEDUNITS}
+  uses
+   System.DynLibs;
+{$ELSE FPC_DOTTEDUNITS}
   uses
    dynlibs;
+{$ENDIF FPC_DOTTEDUNITS}
 
   var
     hlib : tlibhandle;

+ 21 - 0
packages/opengl/src/glut.pp

@@ -18,7 +18,9 @@
 {$DEFINE GLUT_UNIT}
 {$ENDIF}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Glut;
+{$ENDIF FPC_DOTTEDUNITS}
 
 // Copyright (c) Mark J. Kilgard, 1994, 1995, 1996. */
 
@@ -34,6 +36,20 @@ unit Glut;
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils,
+  {$IFDEF Windows}
+  WinApi.Windows, System.DynLibs,
+  {$ELSE}
+  {$IFDEF MORPHOS}
+  MorphApi.Tinygl,
+  {$ELSE}
+  System.DynLibs,
+  {$ENDIF}
+  {$ENDIF}
+  Api.OpenGL.Gl;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils,
   {$IFDEF Windows}
@@ -46,6 +62,7 @@ uses
   {$ENDIF}
   {$ENDIF}
   GL;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TGlutVoidCallback = procedure; cdecl;
@@ -468,7 +485,11 @@ implementation
 {$INCLUDE tinygl.inc}
 
 {$ELSE MORPHOS}
+{$IFDEF FPC_DOTTEDUNITS}
+uses Api.OpenGL.Freeglut;
+{$ELSE FPC_DOTTEDUNITS}
 uses FreeGlut;
+{$ENDIF FPC_DOTTEDUNITS}
 
 var
   hDLL: TLibHandle;

+ 12 - 1
packages/opengl/src/glx.pp

@@ -30,15 +30,22 @@
  This is necessary for supporting different platforms with different calling
  conventions via a single unit.}
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit GLX;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
 {$MACRO ON}
 
 {$IFDEF Unix}
+{$IFDEF FPC_DOTTEDUNITS}
+  uses
+    System.CTypes, Api.X11.X, Api.X11.Xlib, Api.X11.Xutil;
+{$ELSE FPC_DOTTEDUNITS}
   uses
     ctypes, X, XLib, XUtil;
+{$ENDIF FPC_DOTTEDUNITS}
   {$DEFINE HasGLX}  // Activate GLX stuff
 {$ELSE}
   {$MESSAGE Unsupported platform.}
@@ -269,7 +276,7 @@ var
   glXGetFBConfigAttrib: function(dpy: PDisplay; config: TGLXFBConfig; attribute: cint; var value: cint): cint; cdecl;
   glXGetFBConfigs: function(dpy: PDisplay; screen: cint; var nelements: cint): PGLXFBConfig; cdecl;
   glXGetVisualFromFBConfig: function(dpy: PDisplay; config: TGLXFBConfig): PXVisualInfo; cdecl;
-  glXCreateWindow: function(dpy: PDisplay; config: TGLXFBConfig; win: X.TWindow; attribList: Pcint): TGLXWindow; cdecl;
+  glXCreateWindow: function(dpy: PDisplay; config: TGLXFBConfig; win: {$IFDEF FPC_DOTTEDUNITS}Api.X11.{$ENDIF}X.TWindow; attribList: Pcint): TGLXWindow; cdecl;
   glXDestroyWindow: procedure (dpy: PDisplay; window: TGLXWindow); cdecl;
   glXCreatePixmap: function(dpy: PDisplay; config: TGLXFBConfig; pixmap: TXPixmap; attribList: Pcint): TGLXPixmap; cdecl;
   glXDestroyPixmap: procedure (dpy: PDisplay; pixmap: TGLXPixmap); cdecl;
@@ -370,7 +377,11 @@ function GLX_SGIS_multisample(Display: PDisplay; Screen: Integer): boolean;
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses Api.OpenGL.Gl, System.DynLibs, Api.OpenGL.Glext { for glext_ExtensionSupported Amiga.Core.Utility };
+{$ELSE FPC_DOTTEDUNITS}
 uses GL, dynlibs, GLExt { for glext_ExtensionSupported utility };
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$LINKLIB m}