diff options
Diffstat (limited to '')
-rw-r--r-- | public/sdk/inc/gl/glaux.h | 373 |
1 files changed, 373 insertions, 0 deletions
diff --git a/public/sdk/inc/gl/glaux.h b/public/sdk/inc/gl/glaux.h new file mode 100644 index 000000000..3e970db61 --- /dev/null +++ b/public/sdk/inc/gl/glaux.h @@ -0,0 +1,373 @@ +/*++ 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. + +--*/ + +#ifndef __GLAUX_H__ +#define __GLAUX_H__ + +/* + * (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 <windows.h> +#include <GL/gl.h> +#include <GL/glu.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* +** ToolKit Window Types +** In the future, AUX_RGBA may be a combination of both RGB and ALPHA +*/ + +#define AUX_RGB 0 +#define AUX_RGBA AUX_RGB +#define AUX_INDEX 1 +#define AUX_SINGLE 0 +#define AUX_DOUBLE 2 +#define AUX_DIRECT 0 +#define AUX_INDIRECT 4 + +#define AUX_ACCUM 8 +#define AUX_ALPHA 16 +#define AUX_DEPTH24 32 /* 24-bit depth buffer */ +#define AUX_STENCIL 64 +#define AUX_AUX 128 +#define AUX_DEPTH16 256 /* 16-bit depth buffer */ +#define AUX_FIXED_332_PAL 512 +#define AUX_DEPTH AUX_DEPTH16 /* default is 16-bit depth buffer */ + +/* +** Window Masks +*/ + +#define AUX_WIND_IS_RGB(x) (((x) & AUX_INDEX) == 0) +#define AUX_WIND_IS_INDEX(x) (((x) & AUX_INDEX) != 0) +#define AUX_WIND_IS_SINGLE(x) (((x) & AUX_DOUBLE) == 0) +#define AUX_WIND_IS_DOUBLE(x) (((x) & AUX_DOUBLE) != 0) +#define AUX_WIND_IS_INDIRECT(x) (((x) & AUX_INDIRECT) != 0) +#define AUX_WIND_IS_DIRECT(x) (((x) & AUX_INDIRECT) == 0) +#define AUX_WIND_HAS_ACCUM(x) (((x) & AUX_ACCUM) != 0) +#define AUX_WIND_HAS_ALPHA(x) (((x) & AUX_ALPHA) != 0) +#define AUX_WIND_HAS_DEPTH(x) (((x) & (AUX_DEPTH24 | AUX_DEPTH16)) != 0) +#define AUX_WIND_HAS_STENCIL(x) (((x) & AUX_STENCIL) != 0) +#define AUX_WIND_USES_FIXED_332_PAL(x) (((x) & AUX_FIXED_332_PAL) != 0) + +/* +** ToolKit Event Structure +*/ + +typedef struct _AUX_EVENTREC { + GLint event; + GLint data[4]; +} AUX_EVENTREC; + +/* +** ToolKit Event Types +*/ +#define AUX_EXPOSE 1 +#define AUX_CONFIG 2 +#define AUX_DRAW 4 +#define AUX_KEYEVENT 8 +#define AUX_MOUSEDOWN 16 +#define AUX_MOUSEUP 32 +#define AUX_MOUSELOC 64 + +/* +** Toolkit Event Data Indices +*/ +#define AUX_WINDOWX 0 +#define AUX_WINDOWY 1 +#define AUX_MOUSEX 0 +#define AUX_MOUSEY 1 +#define AUX_MOUSESTATUS 3 +#define AUX_KEY 0 +#define AUX_KEYSTATUS 1 + +/* +** ToolKit Event Status Messages +*/ +#define AUX_LEFTBUTTON 1 +#define AUX_RIGHTBUTTON 2 +#define AUX_MIDDLEBUTTON 4 +#define AUX_SHIFT 1 +#define AUX_CONTROL 2 + +/* +** ToolKit Key Codes +*/ +#define AUX_RETURN 0x0D +#define AUX_ESCAPE 0x1B +#define AUX_SPACE 0x20 +#define AUX_LEFT 0x25 +#define AUX_UP 0x26 +#define AUX_RIGHT 0x27 +#define AUX_DOWN 0x28 +#define AUX_A 'A' +#define AUX_B 'B' +#define AUX_C 'C' +#define AUX_D 'D' +#define AUX_E 'E' +#define AUX_F 'F' +#define AUX_G 'G' +#define AUX_H 'H' +#define AUX_I 'I' +#define AUX_J 'J' +#define AUX_K 'K' +#define AUX_L 'L' +#define AUX_M 'M' +#define AUX_N 'N' +#define AUX_O 'O' +#define AUX_P 'P' +#define AUX_Q 'Q' +#define AUX_R 'R' +#define AUX_S 'S' +#define AUX_T 'T' +#define AUX_U 'U' +#define AUX_V 'V' +#define AUX_W 'W' +#define AUX_X 'X' +#define AUX_Y 'Y' +#define AUX_Z 'Z' +#define AUX_a 'a' +#define AUX_b 'b' +#define AUX_c 'c' +#define AUX_d 'd' +#define AUX_e 'e' +#define AUX_f 'f' +#define AUX_g 'g' +#define AUX_h 'h' +#define AUX_i 'i' +#define AUX_j 'j' +#define AUX_k 'k' +#define AUX_l 'l' +#define AUX_m 'm' +#define AUX_n 'n' +#define AUX_o 'o' +#define AUX_p 'p' +#define AUX_q 'q' +#define AUX_r 'r' +#define AUX_s 's' +#define AUX_t 't' +#define AUX_u 'u' +#define AUX_v 'v' +#define AUX_w 'w' +#define AUX_x 'x' +#define AUX_y 'y' +#define AUX_z 'z' +#define AUX_0 '0' +#define AUX_1 '1' +#define AUX_2 '2' +#define AUX_3 '3' +#define AUX_4 '4' +#define AUX_5 '5' +#define AUX_6 '6' +#define AUX_7 '7' +#define AUX_8 '8' +#define AUX_9 '9' + +/* +** ToolKit Gets and Sets +*/ +#define AUX_FD 1 /* return fd (long) */ +#define AUX_COLORMAP 3 /* pass buf of r, g and b (unsigned char) */ +#define AUX_GREYSCALEMAP 4 +#define AUX_FOGMAP 5 /* pass fog and color bits (long) */ +#define AUX_ONECOLOR 6 /* pass index, r, g, and b (long) */ + +/* +** Color Macros +*/ + +#define AUX_BLACK 0 +#define AUX_RED 13 +#define AUX_GREEN 14 +#define AUX_YELLOW 15 +#define AUX_BLUE 16 +#define AUX_MAGENTA 17 +#define AUX_CYAN 18 +#define AUX_WHITE 19 + +extern float auxRGBMap[20][3]; + +#define AUX_SETCOLOR(x, y) (AUX_WIND_IS_RGB((x)) ? \ + glColor3fv(auxRGBMap[(y)]) : glIndexf((y))) + +/* +** RGB Image Structure +*/ + +typedef struct _AUX_RGBImageRec { + GLint sizeX, sizeY; + unsigned char *data; +} AUX_RGBImageRec; + +/* +** Prototypes +*/ + +void APIENTRY auxInitDisplayMode(GLenum); +void APIENTRY auxInitPosition(int, int, int, int); + +/* GLenum APIENTRY auxInitWindow(LPCTSTR); */ +#ifdef UNICODE +#define auxInitWindow auxInitWindowW +#else +#define auxInitWindow auxInitWindowA +#endif +GLenum APIENTRY auxInitWindowA(LPCSTR); +GLenum APIENTRY auxInitWindowW(LPCWSTR); + +void APIENTRY auxCloseWindow(void); +void APIENTRY auxQuit(void); +void APIENTRY auxSwapBuffers(void); + +typedef void (CALLBACK* AUXMAINPROC)(void); +void APIENTRY auxMainLoop(AUXMAINPROC); + +typedef void (CALLBACK* AUXEXPOSEPROC)(int, int); +void APIENTRY auxExposeFunc(AUXEXPOSEPROC); + +typedef void (CALLBACK* AUXRESHAPEPROC)(GLsizei, GLsizei); +void APIENTRY auxReshapeFunc(AUXRESHAPEPROC); + +typedef void (CALLBACK* AUXIDLEPROC)(void); +void APIENTRY auxIdleFunc(AUXIDLEPROC); + +typedef void (CALLBACK* AUXKEYPROC)(void); +void APIENTRY auxKeyFunc(int, AUXKEYPROC); + +typedef void (CALLBACK* AUXMOUSEPROC)(AUX_EVENTREC *); +void APIENTRY auxMouseFunc(int, int, AUXMOUSEPROC); + +int APIENTRY auxGetColorMapSize(void); +void APIENTRY auxGetMouseLoc(int *, int *); +void APIENTRY auxSetOneColor(int, float, float, float); +void APIENTRY auxSetFogRamp(int, int); +void APIENTRY auxSetGreyRamp(void); +void APIENTRY auxSetRGBMap(int, float *); + +/* AUX_RGBImageRec * APIENTRY auxRGBImageLoad(LPCTSTR); */ +#ifdef UNICODE +#define auxRGBImageLoad auxRGBImageLoadW +#else +#define auxRGBImageLoad auxRGBImageLoadA +#endif +AUX_RGBImageRec * APIENTRY auxRGBImageLoadA(LPCSTR); +AUX_RGBImageRec * APIENTRY auxRGBImageLoadW(LPCWSTR); + +#ifdef UNICODE +#define auxDIBImageLoad auxDIBImageLoadW +#else +#define auxDIBImageLoad auxDIBImageLoadA +#endif +AUX_RGBImageRec * APIENTRY auxDIBImageLoadA(LPCSTR); +AUX_RGBImageRec * APIENTRY auxDIBImageLoadW(LPCWSTR); + +void APIENTRY auxCreateFont(void); +/* void APIENTRY auxDrawStr(LPCTSTR); */ +#ifdef UNICODE +#define auxDrawStr auxDrawStrW +#else +#define auxDrawStr auxDrawStrA +#endif +void APIENTRY auxDrawStrA(LPCSTR); +void APIENTRY auxDrawStrW(LPCWSTR); + +void APIENTRY auxWireSphere(GLdouble); +void APIENTRY auxSolidSphere(GLdouble); +void APIENTRY auxWireCube(GLdouble); +void APIENTRY auxSolidCube(GLdouble); +void APIENTRY auxWireBox(GLdouble, GLdouble, GLdouble); +void APIENTRY auxSolidBox(GLdouble, GLdouble, GLdouble); +void APIENTRY auxWireTorus(GLdouble, GLdouble); +void APIENTRY auxSolidTorus(GLdouble, GLdouble); +void APIENTRY auxWireCylinder(GLdouble, GLdouble); +void APIENTRY auxSolidCylinder(GLdouble, GLdouble); +void APIENTRY auxWireIcosahedron(GLdouble); +void APIENTRY auxSolidIcosahedron(GLdouble); +void APIENTRY auxWireOctahedron(GLdouble); +void APIENTRY auxSolidOctahedron(GLdouble); +void APIENTRY auxWireTetrahedron(GLdouble); +void APIENTRY auxSolidTetrahedron(GLdouble); +void APIENTRY auxWireDodecahedron(GLdouble); +void APIENTRY auxSolidDodecahedron(GLdouble); +void APIENTRY auxWireCone(GLdouble, GLdouble); +void APIENTRY auxSolidCone(GLdouble, GLdouble); +void APIENTRY auxWireTeapot(GLdouble); +void APIENTRY auxSolidTeapot(GLdouble); + +/* +** Window specific functions +** hwnd, hdc, and hglrc valid after auxInitWindow() +*/ +HWND APIENTRY auxGetHWND(void); +HDC APIENTRY auxGetHDC(void); +HGLRC APIENTRY auxGetHGLRC(void); + +/* +** Viewperf support functions and constants +*/ +/* Display Mode Selection Criteria */ +enum { + AUX_USE_ID = 1, + AUX_EXACT_MATCH, + AUX_MINIMUM_CRITERIA +}; +void APIENTRY auxInitDisplayModePolicy(GLenum); +GLenum APIENTRY auxInitDisplayModeID(GLint); +GLenum APIENTRY auxGetDisplayModePolicy(void); +GLint APIENTRY auxGetDisplayModeID(void); +GLenum APIENTRY auxGetDisplayMode(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __GLAUX_H__ */ |