' ########################################################################################
' Microsoft Windows
' File: GLAux.inc
' Contents: Procedure declarations, constant definitions and macros for the OpenGL Auxiliary Library.
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_GLAux_PBI)
#DEFINE PBX_GLAux_PBI
%EQUATE `GLAUX_INC = 1
'/*
' * (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.
' */
#INCLUDE ONCE "Core/Windows.inc"
#INCLUDE ONCE "Legacy/Graphics/GL.inc"
#INCLUDE ONCE "Legacy/Graphics/GLU.inc"
'/*
'** ToolKit Window Types
'** In the future, AUX_RGBA may be a combination of both RGB and ALPHA
'*/
%EQUATE `AUX_RGB = 0
%EQUATE `AUX_RGBA = %AUX_RGB
%EQUATE `AUX_INDEX = 1
%EQUATE `AUX_SINGLE = 0
%EQUATE `AUX_DOUBLE = 2
%EQUATE `AUX_DIRECT = 0
%EQUATE `AUX_INDIRECT = 4
%EQUATE `AUX_ACCUM = 8
%EQUATE `AUX_ALPHA = 16
%EQUATE `AUX_DEPTH24 = 32 ' /* 24-bit depth buffer */
%EQUATE `AUX_STENCIL = 64
%EQUATE `AUX_AUX = 128
%EQUATE `AUX_DEPTH16 = 256 ' /* 16-bit depth buffer */
%EQUATE `AUX_FIXED_332_PAL = 512
%EQUATE `AUX_DEPTH = %AUX_DEPTH16 ' /* default is 16-bit depth buffer */
'/*
'** Window Masks
'*/
FUNCTION AUX_WIND_IS_RGB (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_INDEX) = 0)
END FUNCTION
FUNCTION AUX_WIND_IS_INDEX (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_INDEX) <> 0)
END FUNCTION
FUNCTION AUX_WIND_IS_SINGLE (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_DOUBLE) = 0)
END FUNCTION
FUNCTION AUX_WIND_IS_DOUBLE (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_DOUBLE) <> 0)
END FUNCTION
FUNCTION AUX_WIND_IS_INDIRECT (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_INDIRECT) <> 0)
END FUNCTION
FUNCTION AUX_WIND_IS_DIRECT (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_INDIRECT) = 0)
END FUNCTION
FUNCTION AUX_WIND_HAS_ACCUM (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_ACCUM) <> 0)
END FUNCTION
FUNCTION AUX_WIND_HAS_ALPHA (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_ALPHA) <> 0)
END FUNCTION
FUNCTION AUX_WIND_HAS_DEPTH (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND (%AUX_DEPTH24 OR %AUX_DEPTH16)) <> 0)
END FUNCTION
FUNCTION AUX_WIND_HAS_STENCIL (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_STENCIL) <> 0)
END FUNCTION
FUNCTION AUX_WIND_USES_FIXED_332_PAL (BYVAL x AS LONG) AS LONG
 FUNCTION = ((x AND %AUX_FIXED_332_PAL) <> 0)
END FUNCTION
'/*
'** ToolKit Event Structure
'*/
' // Size = 20 bytes
TYPE AUX_EVENTREC
 nEvent AS LONG ' GLint
 nData(3) AS LONG ' GLint[4]
END TYPE
'/*
'** ToolKit Event Types
'*/
%EQUATE `AUX_EXPOSE = 1
%EQUATE `AUX_CONFIG = 2
%EQUATE `AUX_DRAW = 4
%EQUATE `AUX_KEYEVENT = 8
%EQUATE `AUX_MOUSEDOWN = 16
%EQUATE `AUX_MOUSEUP = 32
%EQUATE `AUX_MOUSELOC = 64
'/*
'** Toolkit Event Data Indices
'*/
%EQUATE `AUX_WINDOWX = 0
%EQUATE `AUX_WINDOWY = 1
%EQUATE `AUX_MOUSEX = 0
%EQUATE `AUX_MOUSEY = 1
%EQUATE `AUX_MOUSESTATUS = 3
%EQUATE `AUX_KEY = 0
%EQUATE `AUX_KEYSTATUS = 1
'/*
'** ToolKit Event Status Messages
'*/
%EQUATE `AUX_LEFTBUTTON = 1
%EQUATE `AUX_RIGHTBUTTON = 2
%EQUATE `AUX_MIDDLEBUTTON = 4
%EQUATE `AUX_SHIFT = 1
%EQUATE `AUX_CONTROL = 2
'/*
'** ToolKit Key Codes
'*/
%EQUATE `AUX_RETURN = &H0D
%EQUATE `AUX_ESCAPE = &H1B
%EQUATE `AUX_SPACE = &H20
%EQUATE `AUX_LEFT = &H25
%EQUATE `AUX_UP = &H26
%EQUATE `AUX_RIGHT = &H27
%EQUATE `AUX_DOWN = &H28
$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_sa = "a"
$AUX_sb = "b"
$AUX_sc = "c"
$AUX_sd = "d"
$AUX_se = "e"
$AUX_sf = "f"
$AUX_sg = "g"
$AUX_sh = "h"
$AUX_si = "i"
$AUX_sj = "j"
$AUX_sk = "k"
$AUX_sl = "l"
$AUX_sm = "m"
$AUX_sn = "n"
$AUX_so = "o"
$AUX_sp = "p"
$AUX_sq = "q"
$AUX_sr = "r"
$AUX_ss = "s"
$AUX_st = "t"
$AUX_su = "u"
$AUX_sv = "v"
$AUX_sw = "w"
$AUX_sx = "x"
$AUX_sy = "y"
$AUX_sz = "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
'*/
%EQUATE `AUX_FD = 1 ' /* return fd (long) */
%EQUATE `AUX_COLORMAP = 3 ' /* pass buf of r, g and b (unsigned char) */
%EQUATE `AUX_GREYSCALEMAP = 4
%EQUATE `AUX_FOGMAP = 5 ' /* pass fog and color bits (long) */
%EQUATE `AUX_ONECOLOR = 6 ' /* pass index, r, g, and b (long) */
'/*
'** Color Macros
'*/
%EQUATE `AUX_BLACK = 0
%EQUATE `AUX_RED = 13
%EQUATE `AUX_GREEN = 14
%EQUATE `AUX_YELLOW = 15
%EQUATE `AUX_BLUE = 16
%EQUATE `AUX_MAGENTA = 17
%EQUATE `AUX_CYAN = 18
%EQUATE `AUX_WHITE = 19
'extern float auxRGBMap[20][3];
'#define AUX_SETCOLOR(x, y) (AUX_WIND_IS_RGB((x)) ? \
' glColor3fv(auxRGBMap[(y)]) : glIndexf((y)))
GLOBAL auxRGBMap () AS SINGLE
SUB AUX_SETCOLOR (BYVAL x AS LONG, BYVAL y AS LONG)
 DIM auxRGBMap(19, 2)
 IF AUX_WIND_IS_RGB(x) THEN
 glColor3fv auxRGBMap(y, 0)
 ELSE
 glIndexf y
 END IF
END SUB
'/*
'** RGB Image Structure
'*/
' // Size = 12 bytes
TYPE AUX_RGBImageRec DWORD
 sizeX AS LONG
 sizeY AS LONG
 nData AS BYTE PTR
END TYPE
'/*
'** Prototypes
'*/
'void APIENTRY auxInitDisplayMode(GLenum);
DECLARE SUB auxInitDisplayMode LIB "glaux.dll" ALIAS "auxInitDisplayMode" ( BYVAL mask AS QUAD ' GLenum mask ) ' void
'void APIENTRY auxInitPosition(int, int, int, int);
DECLARE SUB auxInitPosition LIB "glaux.dll" ALIAS "auxInitPosition" ( BYVAL x AS LONG ' int x , BYVAL y AS LONG ' int y , BYVAL width AS LONG ' int width , BYVAL height AS LONG ' int height ) ' void
'/* GLenum APIENTRY auxInitWindow(LPCTSTR); */
'GLenum APIENTRY auxInitWindowA(LPCSTR);
DECLARE FUNCTION auxInitWindow LIB "glaux.dll" ALIAS "auxInitWindowA" ( BYREF szTitle AS ASCIIZ ' LPCSTR szTitle ) AS QUAD ' GLenum
'GLenum APIENTRY auxInitWindowW(LPCWSTR);
DECLARE FUNCTION auxInitWindowW LIB "glaux.dll" ALIAS "auxInitWindowW" ( BYREF wszTitle AS WSTRINGZ ' LPCWSTR wszTitle ) AS QUAD ' GLenum
'void APIENTRY auxCloseWindow(void);
DECLARE SUB auxCloseWindow LIB "glaux.dll" ALIAS "auxCloseWindow" () ' void
'void APIENTRY auxQuit(void);
DECLARE SUB auxQuit LIB "glaux.dll" ALIAS "auxQuit" () ' void
'void APIENTRY auxSwapBuffers(void);
DECLARE SUB auxSwapBuffers LIB "glaux.dll" ALIAS "auxSwapBuffers" () ' void
'typedef void (CALLBACK* AUXMAINPROC)(void);
'void APIENTRY auxMainLoop(AUXMAINPROC);
DECLARE SUB auxMainLoop LIB "glaux.dll" ALIAS "auxMainLoop" ( BYVAL func AS QUAD ' AUXMAINPROC func ) ' void
'typedef void (CALLBACK* AUXEXPOSEPROC)(int, int);
'void APIENTRY auxExposeFunc(AUXEXPOSEPROC);
DECLARE SUB auxExposeFunc LIB "glaux.dll" ALIAS "auxExposeFunc" ( BYVAL func AS QUAD ' AUXEXPOSEPROC func ) ' void
'typedef void (CALLBACK* AUXRESHAPEPROC)(GLsizei, GLsizei);
'void APIENTRY auxReshapeFunc(AUXRESHAPEPROC);
DECLARE SUB auxReshapeFunc LIB "glaux.dll" ALIAS "auxReshapeFunc" ( BYVAL func AS QUAD ' AUXRESHAPEPROC func ) ' void
'typedef void (CALLBACK* AUXIDLEPROC)(void);
'void APIENTRY auxIdleFunc(AUXIDLEPROC);
DECLARE SUB auxIdleFunc LIB "glaux.dll" ALIAS "auxIdleFunc" ( BYVAL func AS QUAD ' AUXIDLEPROC func ) ' void
'typedef void (CALLBACK* AUXKEYPROC)(void);
'void APIENTRY auxKeyFunc(int, AUXKEYPROC);
DECLARE SUB auxKeyFunc LIB "glaux.dll" ALIAS "auxKeyFunc" ( BYVAL key AS LONG ' key int , BYVAL func AS QUAD ' AUXKEYPROC func ) ' void
'typedef void (CALLBACK* AUXMOUSEPROC)(AUX_EVENTREC *);
'void APIENTRY auxMouseFunc(int, int, AUXMOUSEPROC);
DECLARE SUB auxMouseFunc LIB "glaux.dll" ALIAS "auxMouseFunc" ( BYVAL button AS LONG ' int button , BYVAL mode AS LONG ' int mode , BYVAL func AS QUAD ' AUXMOUSEPROC func ) ' void
'int APIENTRY auxGetColorMapSize(void);
DECLARE FUNCTION auxGetColorMapSize LIB "glaux.dll" ALIAS "auxGetColorMapSize" ( ) AS LONG ' int
'void APIENTRY auxGetMouseLoc(int *, int *);
DECLARE SUB auxGetMouseLoc LIB "glaux.dll" ALIAS "auxGetMouseLoc" ( BYREF x AS LONG ' int *x , BYREF y AS LONG ' int *y ) ' void
'void APIENTRY auxSetOneColor(int, float, float, float);
DECLARE SUB auxSetOneColor LIB "glaux.dll" ALIAS "auxSetOneColor" ( BYVAL index AS LONG ' int index , BYVAL red AS SINGLE ' float red , BYVAL green AS SINGLE ' float green , BYVAL blue AS SINGLE ' float blue ) ' void
'void APIENTRY auxSetFogRamp(int, int);
DECLARE SUB auxSetFogRamp LIB "glaux.dll" ALIAS "auxSetFogRamp" ( BYVAL density AS LONG ' int density , BYVAL startindex AS LONG ' int startindex ) ' void
'void APIENTRY auxSetGreyRamp(void);
DECLARE SUB auxSetGreyRamp LIB "glaux.dll" ALIAS "auxSetGreyRamp" () ' void
'void APIENTRY auxSetRGBMap(int, float *);
DECLARE SUB auxSetRGBMap LIB "glaux.dll" ALIAS "auxSetRGBMap" ( BYVAL size AS LONG ' int size , BYREF rgb AS SINGLE ' float *rgb ) ' void
'/* AUX_RGBImageRec * APIENTRY auxRGBImageLoad(LPCTSTR); */
'AUX_RGBImageRec * APIENTRY auxRGBImageLoadA(LPCSTR);
DECLARE FUNCTION auxRGBImageLoad LIB "glaux.dll" ALIAS "auxRGBImageLoadA" ( BYREF filename AS ASCIIZ ' LPCSTR filename ) AS QUAD ' AUX_RGBImageRec
'AUX_RGBImageRec * APIENTRY auxRGBImageLoadW(LPCWSTR);
DECLARE FUNCTION auxRGBImageLoadW LIB "glaux.dll" ALIAS "auxRGBImageLoadW" ( BYREF filename AS WSTRINGZ ' LPCWSTR filename ) AS QUAD ' AUX_RGBImageRec *
'AUX_RGBImageRec * APIENTRY auxDIBImageLoadA(LPCSTR);
DECLARE FUNCTION auxDIBImageLoad LIB "glaux.dll" ALIAS "auxDIBImageLoadA" ( BYREF filename AS ASCIIZ
 ) AS QUAD ' AUX_RGBImageRec *
'AUX_RGBImageRec * APIENTRY auxDIBImageLoadW(LPCWSTR);
DECLARE FUNCTION auxDIBImageLoadW LIB "glaux.dll" ALIAS "auxDIBImageLoadW" ( BYREF filename AS WSTRINGZ
 ) AS QUAD ' AUX_RGBImageRec *
'void APIENTRY auxCreateFont(void);
DECLARE SUB auxCreateFont LIB "glaux.dll" ALIAS "auxCreateFont" () ' void
'/* void APIENTRY auxDrawStr(LPCTSTR); */
'void APIENTRY auxDrawStrA(LPCSTR);
DECLARE SUB auxDrawStr LIB "glaux.dll" ALIAS "auxDrawStrA" ( BYREF str AS ASCIIZ ' LPCSTR str ) ' void
'void APIENTRY auxDrawStrW(LPCWSTR);
DECLARE SUB auxDrawStrW LIB "glaux.dll" ALIAS "auxDrawStrW" ( BYREF str AS WSTRINGZ ' LPCWSTR str ) ' void
'void APIENTRY auxWireSphere(GLdouble);
DECLARE SUB auxWireSphere LIB "glaux.dll" ALIAS "auxWireSphere" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxSolidSphere(GLdouble);
DECLARE SUB auxSolidSphere LIB "glaux.dll" ALIAS "auxSolidSphere" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxWireCube(GLdouble);
DECLARE SUB auxWireCube LIB "glaux.dll" ALIAS "auxWireCube" ( BYVAL width AS DOUBLE ' GLdouble width ) ' void
'void APIENTRY auxSolidCube(GLdouble);
DECLARE SUB auxSolidCube LIB "glaux.dll" ALIAS "auxSolidCube" ( BYVAL width AS DOUBLE ' GLdouble width ) ' void
'void APIENTRY auxWireBox(GLdouble, GLdouble, GLdouble);
DECLARE SUB auxWireBox LIB "glaux.dll" ALIAS "auxWireBox" ( BYVAL width AS DOUBLE ' GLdouble width , BYVAL heigth AS DOUBLE ' GLdouble heigth , BYVAL depth AS DOUBLE ' GLdouble depth ) ' void
'void APIENTRY auxSolidBox(GLdouble, GLdouble, GLdouble);
DECLARE SUB auxSolidBox LIB "glaux.dll" ALIAS "auxSolidBox" ( BYVAL width AS DOUBLE ' GLdouble width , BYVAL heigth AS DOUBLE ' GLdouble heigth , BYVAL depth AS DOUBLE ' GLdouble depth ) ' void
'void APIENTRY auxWireTorus(GLdouble, GLdouble);
DECLARE SUB auxWireTorus LIB "glaux.dll" ALIAS "auxWireTorus" ( BYVAL innerRadius AS DOUBLE ' GLdouble innerRadius , BYVAL outerRadius AS DOUBLE ' GLdouble outerRadius ) ' void
'void APIENTRY auxSolidTorus(GLdouble, GLdouble);
DECLARE SUB auxSolidTorus LIB "glaux.dll" ALIAS "auxSolidTorus" ( BYVAL innerRadius AS DOUBLE ' GLdouble innerRadius , BYVAL outerRadius AS DOUBLE ' GLdouble outerRadius ) ' void
'void APIENTRY auxWireCylinder(GLdouble, GLdouble);
DECLARE SUB auxWireCylinder LIB "glaux.dll" ALIAS "auxWireCylinder" ( BYVAL radius AS DOUBLE ' GLdouble radius , BYVAL height AS DOUBLE ' GLdouble height ) ' void
'void APIENTRY auxSolidCylinder(GLdouble, GLdouble);
DECLARE SUB auxSolidCylinder LIB "glaux.dll" ALIAS "auxSolidCylinder" ( BYVAL radius AS DOUBLE ' GLdouble radius , BYVAL height AS DOUBLE ' GLdouble height ) ' void
'void APIENTRY auxWireIcosahedron(GLdouble);
DECLARE SUB auxWireIcosahedron LIB "glaux.dll" ALIAS "auxWireIcosahedron" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxSolidIcosahedron(GLdouble);
DECLARE SUB auxSolidIcosahedron LIB "glaux.dll" ALIAS "auxSolidIcosahedron" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxWireOctahedron(GLdouble);
DECLARE SUB auxWireOctahedron LIB "glaux.dll" ALIAS "auxWireOctahedron" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxSolidOctahedron(GLdouble);
DECLARE SUB auxSolidOctahedron LIB "glaux.dll" ALIAS "auxSolidOctahedron" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxWireTetrahedron(GLdouble);
DECLARE SUB auxWireTetrahedron LIB "glaux.dll" ALIAS "auxWireTetrahedron" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxSolidTetrahedron(GLdouble);
DECLARE SUB auxSolidTetrahedron LIB "glaux.dll" ALIAS "auxSolidTetrahedron" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxWireDodecahedron(GLdouble);
DECLARE SUB auxWireDodecahedron LIB "glaux.dll" ALIAS "auxWireDodecahedron" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxSolidDodecahedron(GLdouble);
DECLARE SUB auxSolidDodecahedron LIB "glaux.dll" ALIAS "auxSolidDodecahedron" ( BYVAL radius AS DOUBLE ' GLdouble radius ) ' void
'void APIENTRY auxWireCone(GLdouble, GLdouble);
DECLARE SUB auxWireCone LIB "glaux.dll" ALIAS "auxWireCone" ( BYVAL radius AS DOUBLE ' GLdouble radius , BYVAL height AS DOUBLE ' GLdouble height ) ' void
'void APIENTRY auxSolidCone(GLdouble, GLdouble);
DECLARE SUB auxSolidCone LIB "glaux.dll" ALIAS "auxSolidCone" ( BYVAL radius AS DOUBLE ' GLdouble radius , BYVAL height AS DOUBLE ' GLdouble height ) ' void
'void APIENTRY auxWireTeapot(GLdouble);
DECLARE SUB auxWireTeapot LIB "glaux.dll" ALIAS "auxWireTeapot" ( BYVAL size AS DOUBLE ' GLdouble size ) ' void
'void APIENTRY auxSolidTeapot(GLdouble);
DECLARE SUB auxSolidTeapot LIB "glaux.dll" ALIAS "auxSolidTeapot" ( BYVAL size AS DOUBLE ' GLdouble size ) ' void
'/*
'** Window specific functions
'** hwnd, hdc, and hglrc valid after auxInitWindow()
'*/
'HWND APIENTRY auxGetHWND(void);
DECLARE FUNCTION auxGetHWND LIB "glaux.dll" ALIAS "auxGetHWND" ( ) AS QUAD
'HDC APIENTRY auxGetHDC(void);
DECLARE FUNCTION auxGetHDC LIB "glaux.dll" ALIAS "auxGetHDC" ( ) AS QUAD ' HDC
'HGLRC APIENTRY auxGetHGLRC(void);
DECLARE FUNCTION auxGetHGLRC LIB "glaux.dll" ALIAS "auxGetHGLRC" ( ) AS QUAD ' HGLRC
'/*
'** Viewperf support functions and constants
'*/
'/* Display Mode Selection Criteria */
%EQUATE `AUX_USE_ID = 1
%EQUATE `AUX_EXACT_MATCH = 2
%EQUATE `AUX_MINIMUM_CRITERIA = 3
'void APIENTRY auxInitDisplayModePolicy(GLenum);
DECLARE SUB auxInitDisplayModePolicy LIB "glaux.dll" ALIAS "auxInitDisplayModePolicy" ( BYVAL type AS QUAD ' GLenum type ) ' void
'GLenum APIENTRY auxInitDisplayModeID(GLint);
DECLARE FUNCTION auxInitDisplayModeID LIB "glaux.dll" ALIAS "auxInitDisplayModeID" ( BYVAL id AS LONG ' GLint id ) AS QUAD ' GLenum
'GLenum APIENTRY auxGetDisplayModePolicy(void);
DECLARE FUNCTION auxGetDisplayModePolicy LIB "glaux.dll" ALIAS "auxGetDisplayModePolicy" ( ) AS QUAD ' GLenum
'GLint APIENTRY auxGetDisplayModeID(void);
DECLARE FUNCTION auxGetDisplayModeID LIB "glaux.dll" ALIAS "auxGetDisplayModeID" ( ) AS LONG ' GLint
'GLenum APIENTRY auxGetDisplayMode(void);
DECLARE FUNCTION auxGetDisplayMode LIB "glaux.dll" ALIAS "auxGetDisplayMode" ( ) AS QUAD ' GLenum
#ENDIF
