|
@@ -0,0 +1,502 @@
|
|
|
+{
|
|
|
+ $Id$
|
|
|
+
|
|
|
+ Translation of the GLaux headers for FreePascal
|
|
|
+ Version for static linking in Win32 environment by Alexander Stohr.
|
|
|
+ Latest change: 1999-11-13
|
|
|
+
|
|
|
+ Further information:
|
|
|
+
|
|
|
+ GLaux is an outdated toolkit from SGI and later used by Microsoft.
|
|
|
+}
|
|
|
+{*++ BUILD Version: 0004 // Increment this if a change has global effects
|
|
|
+
|
|
|
+Copyright (c) 1985-95, Microsoft Corporation
|
|
|
+
|
|
|
+Module Name:
|
|
|
+
|
|
|
+ glaux.h
|
|
|
+
|
|
|
+Abstract:
|
|
|
+
|
|
|
+ Procedure declarations, constant definitions and macros for the OpenGL
|
|
|
+ Auxiliary Library.
|
|
|
+
|
|
|
+--*}
|
|
|
+{*
|
|
|
+ * (c) Copyright 1993, Silicon Graphics, Inc.
|
|
|
+ * ALL RIGHTS RESERVED
|
|
|
+ * Permission to use, copy, modify, and distribute this software for
|
|
|
+ * any purpose and without fee is hereby granted, provided that the above
|
|
|
+ * copyright notice appear in all copies and that both the copyright notice
|
|
|
+ * and this permission notice appear in supporting documentation, and that
|
|
|
+ * the name of Silicon Graphics, Inc. not be used in advertising
|
|
|
+ * or publicity pertaining to distribution of the software without specific,
|
|
|
+ * written prior permission.
|
|
|
+ *
|
|
|
+ * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
|
|
|
+ * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
|
|
|
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
|
|
|
+ * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
|
|
|
+ * GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
|
|
|
+ * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
|
|
|
+ * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
|
|
|
+ * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
|
|
|
+ * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
|
|
|
+ * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
|
|
|
+ * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
|
|
|
+ * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
+ *
|
|
|
+ * US Government Users Restricted Rights
|
|
|
+ * Use, duplication, or disclosure by the Government is subject to
|
|
|
+ * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
|
|
|
+ * (c)(1)(ii) of the Rights in Technical Data and Computer Software
|
|
|
+ * clause at DFARS 252.227-7013 and/or in similar or successor
|
|
|
+ * clauses in the FAR or the DOD or NASA FAR Supplement.
|
|
|
+ * Unpublished-- rights reserved under the copyright laws of the
|
|
|
+ * United States. Contractor/manufacturer is Silicon Graphics,
|
|
|
+ * Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
|
|
|
+ *
|
|
|
+ * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
|
|
|
+ *}
|
|
|
+
|
|
|
+{$MODE delphi}
|
|
|
+
|
|
|
+{You have to enable Macros (compiler switch "-Sm") for compiling this unit!
|
|
|
+ This is necessary for supporting different platforms with different calling
|
|
|
+ conventions via a single unit.}
|
|
|
+
|
|
|
+{$define WINNT}
|
|
|
+{$define GLauximp}
|
|
|
+{x$define UNICODE}
|
|
|
+
|
|
|
+unit GLaux; { version which does statically linking }
|
|
|
+
|
|
|
+
|
|
|
+interface
|
|
|
+
|
|
|
+{$IFDEF Win32}
|
|
|
+ {$DEFINE glaux_dll := external 'Glauximp.dll'}
|
|
|
+ {$DEFINE glaux_callback := cdecl}
|
|
|
+{$ELSE}
|
|
|
+ {$MESSAGE Unsupported platform.}
|
|
|
+{$ENDIF}
|
|
|
+
|
|
|
+
|
|
|
+USES
|
|
|
+ windows,
|
|
|
+ GL;
|
|
|
+{
|
|
|
+#include <windows.h>
|
|
|
+#include <GL/glu.h>
|
|
|
+}
|
|
|
+
|
|
|
+TYPE
|
|
|
+ LPCSTR = Pointer; { pointer on a zero terminated string }
|
|
|
+ LPCWSTR = Pointer; { pointer on a zero terminated unicode string }
|
|
|
+
|
|
|
+{*
|
|
|
+** ToolKit Window Types
|
|
|
+** In the future, AUX_RGBA may be a combination of both RGB and ALPHA
|
|
|
+*}
|
|
|
+
|
|
|
+const
|
|
|
+ AUX_RGB = 0;
|
|
|
+ AUX_RGBA = AUX_RGB;
|
|
|
+ AUX_INDEX = 1;
|
|
|
+ AUX_SINGLE = 0;
|
|
|
+ AUX_DOUBLE = 2;
|
|
|
+ AUX_DIRECT = 0;
|
|
|
+ AUX_INDIRECT = 4;
|
|
|
+
|
|
|
+ AUX_ACCUM = 8;
|
|
|
+ AUX_ALPHA = 16;
|
|
|
+ AUX_DEPTH24 = 32; {* 24-bit depth buffer *}
|
|
|
+ AUX_STENCIL = 64;
|
|
|
+ AUX_AUX = 128;
|
|
|
+ AUX_DEPTH16 = 256; {* 16-bit depth buffer *}
|
|
|
+ AUX_FIXED_332_PAL = 512;
|
|
|
+ AUX_DEPTH = AUX_DEPTH16; {* default is 16-bit depth buffer *}
|
|
|
+
|
|
|
+{*
|
|
|
+** Window Masks
|
|
|
+*}
|
|
|
+
|
|
|
+{ These have been macros and were converted to boolean funtions }
|
|
|
+FUNCTION AUX_WIND_IS_RGB (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_IS_INDEX (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_IS_SINGLE (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_IS_DOUBLE (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_IS_INDIRECT (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_IS_DIRECT (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_HAS_ACCUM (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_HAS_ALPHA (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_HAS_DEPTH (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_HAS_STENCIL (x : DWORD) : BOOLEAN;
|
|
|
+FUNCTION AUX_WIND_USES_FIXED_332_PAL(x : DWORD) : BOOLEAN;
|
|
|
+
|
|
|
+{*
|
|
|
+** ToolKit Event Structure
|
|
|
+*}
|
|
|
+type
|
|
|
+ AUX_EVENTREC = RECORD
|
|
|
+ {BEGIN}
|
|
|
+ event : GLint;
|
|
|
+ data : ARRAY[0..3] OF GLint;
|
|
|
+ END;
|
|
|
+
|
|
|
+{*
|
|
|
+** ToolKit Event Types
|
|
|
+*}
|
|
|
+CONST
|
|
|
+ AUX_EXPOSE = 1;
|
|
|
+ AUX_CONFIG = 2;
|
|
|
+ AUX_DRAW = 4;
|
|
|
+ AUX_KEYEVENT = 8;
|
|
|
+ AUX_MOUSEDOWN = 16;
|
|
|
+ AUX_MOUSEUP = 32;
|
|
|
+ AUX_MOUSELOC = 64;
|
|
|
+
|
|
|
+{*
|
|
|
+** Toolkit Event Data Indices
|
|
|
+*}
|
|
|
+ AUX_WINDOWX = 0;
|
|
|
+ AUX_WINDOWY = 1;
|
|
|
+ AUX_MOUSEX = 0;
|
|
|
+ AUX_MOUSEY = 1;
|
|
|
+ AUX_MOUSESTATUS = 3;
|
|
|
+ AUX_KEY = 0;
|
|
|
+ AUX_KEYSTATUS = 1;
|
|
|
+
|
|
|
+{*
|
|
|
+** ToolKit Event Status Messages
|
|
|
+*}
|
|
|
+ AUX_LEFTBUTTON = 1;
|
|
|
+ AUX_RIGHTBUTTON = 2;
|
|
|
+ AUX_MIDDLEBUTTON = 4;
|
|
|
+ AUX_SHIFT = 1;
|
|
|
+ AUX_CONTROL = 2;
|
|
|
+
|
|
|
+{*
|
|
|
+** ToolKit Key Codes
|
|
|
+*}
|
|
|
+ AUX_RETURN = #$0D;
|
|
|
+ AUX_ESCAPE = #$1B;
|
|
|
+ AUX_SPACE = #$20;
|
|
|
+ AUX_LEFT = #$25;
|
|
|
+ AUX_UP = #$26;
|
|
|
+ AUX_RIGHT = #$27;
|
|
|
+ AUX_DOWN = #$28;
|
|
|
+ AUX_A = 'A';
|
|
|
+ AUX_B = 'B';
|
|
|
+ AUX_C = 'C';
|
|
|
+ AUX_D = 'D';
|
|
|
+ AUX_E = 'E';
|
|
|
+ AUX_F = 'F';
|
|
|
+ AUX_G = 'G';
|
|
|
+ AUX_H = 'H';
|
|
|
+ AUX_I = 'I';
|
|
|
+ AUX_J = 'J';
|
|
|
+ AUX_K = 'K';
|
|
|
+ AUX_L = 'L';
|
|
|
+ AUX_M = 'M';
|
|
|
+ AUX_N = 'N';
|
|
|
+ AUX_O = 'O';
|
|
|
+ AUX_P = 'P';
|
|
|
+ AUX_Q = 'Q';
|
|
|
+ AUX_R = 'R';
|
|
|
+ AUX_S = 'S';
|
|
|
+ AUX_T = 'T';
|
|
|
+ AUX_U = 'U';
|
|
|
+ AUX_V = 'V';
|
|
|
+ AUX_W = 'W';
|
|
|
+ AUX_X = 'X';
|
|
|
+ AUX_Y = 'Y';
|
|
|
+ AUX_Z = 'Z';
|
|
|
+ AUX_a_ = 'a';
|
|
|
+ AUX_b_ = 'b';
|
|
|
+ AUX_c_ = 'c';
|
|
|
+ AUX_d_ = 'd';
|
|
|
+ AUX_e_ = 'e';
|
|
|
+ AUX_f_ = 'f';
|
|
|
+ AUX_g_ = 'g';
|
|
|
+ AUX_h_ = 'h';
|
|
|
+ AUX_i_ = 'i';
|
|
|
+ AUX_j_ = 'j';
|
|
|
+ AUX_k_ = 'k';
|
|
|
+ AUX_l_ = 'l';
|
|
|
+ AUX_m_ = 'm';
|
|
|
+ AUX_n_ = 'n';
|
|
|
+ AUX_o_ = 'o';
|
|
|
+ AUX_p_ = 'p';
|
|
|
+ AUX_q_ = 'q';
|
|
|
+ AUX_r_ = 'r';
|
|
|
+ AUX_s_ = 's';
|
|
|
+ AUX_t_ = 't';
|
|
|
+ AUX_u_ = 'u';
|
|
|
+ AUX_v_ = 'v';
|
|
|
+ AUX_w_ = 'w';
|
|
|
+ AUX_x_ = 'x';
|
|
|
+ AUX_y_ = 'y';
|
|
|
+ AUX_z_ = 'z';
|
|
|
+ AUX_0 = '0';
|
|
|
+ AUX_1 = '1';
|
|
|
+ AUX_2 = '2';
|
|
|
+ AUX_3 = '3';
|
|
|
+ AUX_4 = '4';
|
|
|
+ AUX_5 = '5';
|
|
|
+ AUX_6 = '6';
|
|
|
+ AUX_7 = '7';
|
|
|
+ AUX_8 = '8';
|
|
|
+ AUX_9 = '9';
|
|
|
+
|
|
|
+{*
|
|
|
+** ToolKit Gets and Sets
|
|
|
+*}
|
|
|
+ AUX_FD = 1; {* return fd (long) *}
|
|
|
+ AUX_COLORMAP = 3; {* pass buf of r, g and b (unsigned char) *}
|
|
|
+ AUX_GREYSCALEMAP = 4;
|
|
|
+ AUX_FOGMAP = 5; {* pass fog and color bits (long) *}
|
|
|
+ AUX_ONECOLOR = 6; {* pass index, r, g, and b (long) *}
|
|
|
+
|
|
|
+{*
|
|
|
+** Color Macros
|
|
|
+*}
|
|
|
+
|
|
|
+ AUX_BLACK = 0;
|
|
|
+ AUX_RED = 13;
|
|
|
+ AUX_GREEN = 14;
|
|
|
+ AUX_YELLOW = 15;
|
|
|
+ AUX_BLUE = 16;
|
|
|
+ AUX_MAGENTA = 17;
|
|
|
+ AUX_CYAN = 18;
|
|
|
+ AUX_WHITE = 19;
|
|
|
+
|
|
|
+{ this was a macro and is now a procedure }
|
|
|
+{ PROCEDURE AUX_SETCOLOR(x, y); - TODO }
|
|
|
+
|
|
|
+{*
|
|
|
+** RGB Image Structure
|
|
|
+*}
|
|
|
+
|
|
|
+type
|
|
|
+ AUX_RGBImageRec = RECORD
|
|
|
+ {BEGIN}
|
|
|
+ sizeX, sizeY : GLint;
|
|
|
+ data : ^BYTE;
|
|
|
+ END;
|
|
|
+ pAUX_RGBImageRec = ^AUX_RGBImageRec;
|
|
|
+
|
|
|
+{*
|
|
|
+** Prototypes
|
|
|
+*}
|
|
|
+
|
|
|
+Procedure auxInitDisplayMode(mode:GLenum); glaux_dll;
|
|
|
+Procedure auxInitPosition(x,y,w,h:Integer); glaux_dll;
|
|
|
+
|
|
|
+{$ifndef WINNT}
|
|
|
+FUNCTION auxInitWindow(name:LPCSTR) : GLenum; glaux_dll;
|
|
|
+{$else}
|
|
|
+{$ifdef UNICODE }
|
|
|
+FUNCTION auxInitWindow (name:LPCWSTR) : GLenum; glaux_dll name 'auxInitWindowW';
|
|
|
+{$else}
|
|
|
+FUNCTION auxInitWindow (name:LPCSTR) : GLenum; glaux_dll name 'auxInitWindowA';
|
|
|
+{$endif}
|
|
|
+FUNCTION auxInitWindowA(name:LPCSTR) : GLenum; glaux_dll;
|
|
|
+FUNCTION auxInitWindowW(name:LPCWSTR) : GLenum; glaux_dll;
|
|
|
+{$endif}
|
|
|
+
|
|
|
+PROCEDURE auxCloseWindow; glaux_dll;
|
|
|
+PROCEDURE auxQuit; glaux_dll;
|
|
|
+PROCEDURE auxSwapBuffers; glaux_dll;
|
|
|
+
|
|
|
+{ callbacks }
|
|
|
+type
|
|
|
+ TAUXMAINPROC = PROCEDURE; glaux_callback;
|
|
|
+ TAUXEXPOSEPROC = PROCEDURE(w, h : integer); glaux_callback;
|
|
|
+ TAUXRESHAPEPROC = PROCEDURE(w, h : GLsizei); glaux_callback;
|
|
|
+ TAUXIDLEPROC = PROCEDURE; glaux_callback;
|
|
|
+ TAUXKEYPROC = PROCEDURE; glaux_callback;
|
|
|
+ TAUXMOUSEPROC = PROCEDURE(VAR event : AUX_EVENTREC); glaux_callback;
|
|
|
+
|
|
|
+{ callback setup routines }
|
|
|
+PROCEDURE auxMainLoop (func : TAUXMAINPROC); glaux_dll;
|
|
|
+PROCEDURE auxExposeFunc (func : TAUXEXPOSEPROC); glaux_dll;
|
|
|
+PROCEDURE auxReshapeFunc(func : TAUXRESHAPEPROC); glaux_dll;
|
|
|
+PROCEDURE auxIdleFunc (func : TAUXIDLEPROC); glaux_dll;
|
|
|
+PROCEDURE auxKeyFunc (val : integer; func : TAUXKEYPROC); glaux_dll;
|
|
|
+PROCEDURE auxMouseFunc (v1, v2 :integer; func : TAUXMOUSEPROC); glaux_dll;
|
|
|
+
|
|
|
+FUNCTION auxGetColorMapSize : integer; glaux_dll;
|
|
|
+PROCEDURE auxGetMouseLoc(var x, y : integer); glaux_dll;
|
|
|
+PROCEDURE auxSetOneColor(id : integer; r, g, b : GLfloat); glaux_dll;
|
|
|
+PROCEDURE auxSetFogRamp(v1, v2 : integer); glaux_dll;
|
|
|
+PROCEDURE auxSetGreyRamp; glaux_dll;
|
|
|
+PROCEDURE auxSetRGBMap(id : integer; var map : GLfloat); glaux_dll;
|
|
|
+
|
|
|
+{$ifndef WINNT}
|
|
|
+FUNCTION auxRGBImageLoad(name : LPCSTR) : pAUX_RGBImageRec; glaux_dll;
|
|
|
+{$else}
|
|
|
+{$ifndef GLAUXIMP}{ not present in GLauximp.dll }
|
|
|
+{$ifdef UNICODE}
|
|
|
+FUNCTION auxRGBImageLoad (name : LPCWSTR): pAUX_RGBImageRec; glaux_dll name 'auxRGBImageLoadW';
|
|
|
+{$else}
|
|
|
+FUNCTION auxRGBImageLoad (name : LPCSTR) : pAUX_RGBImageRec; glaux_dll name 'auxRGBImageLoadA';
|
|
|
+{$endif}
|
|
|
+FUNCTION auxRGBImageLoadA(name : LPCSTR) : pAUX_RGBImageRec; glaux_dll;
|
|
|
+FUNCTION auxRGBImageLoadW(name : LPCWSTR): pAUX_RGBImageRec; glaux_dll;
|
|
|
+{$endif}
|
|
|
+{$endif}
|
|
|
+
|
|
|
+{$ifndef WINNT}
|
|
|
+{ this function is Windows specific! }
|
|
|
+FUNCTION auxDIBImageLoad(name : LPCSTR) : pAUX_RGBImageRec; glaux_dll;
|
|
|
+{$else}
|
|
|
+{$ifndef GLAUXIMP}{ not present in GLauximp.dll }
|
|
|
+{$ifdef UNICODE }
|
|
|
+FUNCTION auxDIBImageLoad (name : LPCWSTR): pAUX_RGBImageRec; glaux_dll name 'auxDIBImageLoadW';
|
|
|
+{$else}
|
|
|
+FUNCTION auxDIBImageLoad (name : LPCSTR) : pAUX_RGBImageRec; glaux_dll name 'auxDIBImageLoadA';
|
|
|
+{$endif}
|
|
|
+FUNCTION auxDIBImageLoadA(name : LPCSTR) : pAUX_RGBImageRec; glaux_dll;
|
|
|
+FUNCTION auxDIBImageLoadW(name : LPCWSTR): pAUX_RGBImageRec; glaux_dll;
|
|
|
+{$endif}
|
|
|
+{$endif}
|
|
|
+
|
|
|
+PROCEDURE auxCreateFont; glaux_dll;
|
|
|
+
|
|
|
+{$ifndef WINNT}
|
|
|
+PROCEDURE auxDrawStr (name : LPCSTR); glaux_dll;
|
|
|
+{$else}
|
|
|
+{$ifndef GLAUXIMP}{ not present in GLauximp.dll }
|
|
|
+{$ifdef UNICODE }
|
|
|
+PROCEDURE auxDrawStr (name : LPCWSTR); glaux_dll name 'auxDrawStrW';
|
|
|
+{$else}
|
|
|
+PROCEDURE auxDrawStr (name : LPCSTR); glaux_dll name 'auxDrawStrA';
|
|
|
+{$endif}
|
|
|
+PROCEDURE auxDrawStrA(name : LPCSTR); glaux_dll;
|
|
|
+PROCEDURE auxDrawStrW(name : LPCWSTR); glaux_dll;
|
|
|
+{$endif}
|
|
|
+{$endif}
|
|
|
+
|
|
|
+PROCEDURE auxWireSphere(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidSphere(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireCube(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidCube(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireBox(v1, v2, v3 : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidBox(v1, v2, v3 : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireTorus(v1, v2 : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidTorus(v1, v2 : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireCylinder(v1, v2 : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidCylinder(v1, v2 : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireIcosahedron(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidIcosahedron(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireOctahedron(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidOctahedron(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireTetrahedron(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidTetrahedron(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireDodecahedron(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidDodecahedron(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireCone(v1, v2 : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidCone(v1, v2 : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxWireTeapot(v : GLdouble); glaux_dll;
|
|
|
+PROCEDURE auxSolidTeapot(v: GLdouble); glaux_dll;
|
|
|
+
|
|
|
+{*
|
|
|
+** Window specific functions
|
|
|
+** hwnd, hdc, and hglrc valid after auxInitWindow()
|
|
|
+*}
|
|
|
+FUNCTION auxGetHWND : HWND; glaux_dll;
|
|
|
+FUNCTION auxGetHDC : HDC; glaux_dll;
|
|
|
+FUNCTION auxGetHGLRC : HGLRC; glaux_dll;
|
|
|
+
|
|
|
+{*
|
|
|
+** Viewperf support functions and constants
|
|
|
+*}
|
|
|
+{* Display Mode Selection Criteria *}
|
|
|
+
|
|
|
+CONST { was an unnamed enum }
|
|
|
+ AUX_USE_ID = 1;
|
|
|
+ AUX_EXACT_MATCH = 2;
|
|
|
+ AUX_MINIMUM_CRITERIA = 3;
|
|
|
+
|
|
|
+PROCEDURE auxInitDisplayModePolicy(val : GLenum); glaux_dll;
|
|
|
+FUNCTION auxInitDisplayModeID(val : GLint) : GLenum; glaux_dll;
|
|
|
+FUNCTION auxGetDisplayModePolicy : GLenum; glaux_dll;
|
|
|
+FUNCTION auxGetDisplayModeID : GLint; glaux_dll;
|
|
|
+FUNCTION auxGetDisplayMode : GLenum; glaux_dll;
|
|
|
+
|
|
|
+
|
|
|
+implementation
|
|
|
+
|
|
|
+{ these functions are resolved macros -
|
|
|
+ they should be "inline" if compile can do this }
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_IS_RGB(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_IS_RGB := ((x AND AUX_INDEX) = 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_IS_INDEX(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_IS_INDEX := ((x AND AUX_INDEX) <> 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_IS_SINGLE(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_IS_SINGLE := ((x AND AUX_DOUBLE) = 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_IS_DOUBLE(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_IS_DOUBLE := ((x AND AUX_DOUBLE) <> 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_IS_INDIRECT(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_IS_INDIRECT := ((x AND AUX_INDIRECT) <> 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_IS_DIRECT(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_IS_DIRECT := ((x AND AUX_INDIRECT) = 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_HAS_ACCUM(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_HAS_ACCUM := ((x AND AUX_ACCUM) <> 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_HAS_ALPHA(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_HAS_ALPHA := ((x AND AUX_ALPHA) <> 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_HAS_DEPTH(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_HAS_DEPTH := ((x AND (AUX_DEPTH24 OR AUX_DEPTH16)) <> 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_HAS_STENCIL(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_HAS_STENCIL := ((x AND AUX_STENCIL) <> 0);
|
|
|
+END;
|
|
|
+
|
|
|
+FUNCTION AUX_WIND_USES_FIXED_332_PAL(x : DWORD) : BOOLEAN;
|
|
|
+BEGIN
|
|
|
+ AUX_WIND_USES_FIXED_332_PAL := ((x AND AUX_FIXED_332_PAL) <> 0);
|
|
|
+END;
|
|
|
+
|
|
|
+{extern float auxRGBMap[20][3];
|
|
|
+
|
|
|
+PROCEDURE AUX_SETCOLOR(x, y);
|
|
|
+BEGIN
|
|
|
+ IF (AUX_WIND_IS_RGB((x))
|
|
|
+ THEN glColor3fv(auxRGBMap[y])
|
|
|
+ ELSE glIndexf(y));
|
|
|
+END;
|
|
|
+ - TODO}
|
|
|
+
|
|
|
+
|
|
|
+{begin{of init}
|
|
|
+end.
|