* Dotted filenames for package opengl

This commit is contained in:
Michaël Van Canneyt 2023-03-06 14:57:58 +01:00
parent e6e5c1724d
commit 2c84e82e67
13 changed files with 120 additions and 2 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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

View File

@ -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;

View File

@ -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}

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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}