Gareth Hughes | c329f08 | 2001-05-07 13:58:00 +0000 | [diff] [blame] | 1 | /* $Id: mesa_wgl.h,v 1.6 2001/05/07 13:58:00 gareth Exp $ */ |
| 2 | |
| 3 | /* |
| 4 | * Mesa 3-D graphics library |
| 5 | * Version: 3.1 |
| 6 | * |
| 7 | * Copyright (C) 1999 Brian Paul All Rights Reserved. |
| 8 | * |
| 9 | * Permission is hereby granted, free of charge, to any person obtaining a |
| 10 | * copy of this software and associated documentation files (the "Software"), |
| 11 | * to deal in the Software without restriction, including without limitation |
| 12 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| 13 | * and/or sell copies of the Software, and to permit persons to whom the |
| 14 | * Software is furnished to do so, subject to the following conditions: |
| 15 | * |
| 16 | * The above copyright notice and this permission notice shall be included |
| 17 | * in all copies or substantial portions of the Software. |
| 18 | * |
| 19 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| 20 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| 21 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| 22 | * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN |
| 23 | * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
| 24 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
| 25 | */ |
| 26 | |
| 27 | |
| 28 | /* prototypes for the Mesa WGL functions */ |
| 29 | /* relocated here so that I could make GLUT get them properly */ |
| 30 | |
| 31 | #define _mesa_wgl_h_ |
| 32 | |
| 33 | #ifndef _mesa_wgl_h_ |
| 34 | #define _mesa_wgl_h_ |
| 35 | |
| 36 | |
| 37 | #include <gl/gl.h> |
| 38 | |
| 39 | #ifdef __cplusplus |
| 40 | extern "C" { |
| 41 | #endif |
| 42 | |
| 43 | |
| 44 | #if !defined(OPENSTEP) && (defined(__WIN32__) || defined(__CYGWIN32__)) |
| 45 | # if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */ |
| 46 | # define GLAPI __declspec(dllexport) |
| 47 | # define WGLAPI __declspec(dllexport) |
| 48 | # elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we're building for DLL runtime support */ |
| 49 | # define GLAPI __declspec(dllimport) |
| 50 | # define WGLAPI __declspec(dllimport) |
| 51 | # else /* for use with static link lib build of Win32 edition only */ |
| 52 | # define GLAPI extern |
| 53 | # define WGLAPI __declspec(dllimport) |
| 54 | # endif /* _STATIC_MESA support */ |
| 55 | # define GLAPIENTRY __stdcall |
| 56 | #else |
| 57 | /* non-Windows compilation */ |
| 58 | # define GLAPI extern |
| 59 | # define GLAPIENTRY |
| 60 | #endif /* WIN32 / CYGWIN32 bracket */ |
| 61 | |
| 62 | |
| 63 | #if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP) |
| 64 | #ifndef _GNU_H_WINDOWS32_FUNCTIONS |
| 65 | # ifdef UNICODE |
| 66 | # define wglUseFontBitmaps wglUseFontBitmapsW |
| 67 | # define wglUseFontOutlines wglUseFontOutlinesW |
| 68 | # else |
| 69 | # define wglUseFontBitmaps wglUseFontBitmapsA |
| 70 | # define wglUseFontOutlines wglUseFontOutlinesA |
| 71 | # endif /* !UNICODE */ |
| 72 | #endif /* _GNU_H_WINDOWS32_FUNCTIONS */ |
| 73 | typedef struct tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR; |
| 74 | typedef struct _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT; |
| 75 | typedef struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR; |
| 76 | #endif |
| 77 | |
| 78 | |
| 79 | #ifdef _MSC_VER |
| 80 | # pragma warning( disable : 4615 ) /* pragma warning : unknown user warning type*/ |
| 81 | # pragma warning( push ) |
| 82 | # pragma warning( disable : 4273 ) /* 'function' : inconsistent DLL linkage. dllexport assumed. */ |
| 83 | #endif |
| 84 | |
| 85 | WGLAPI int GLAPIENTRY wglDeleteContext(HGLRC); |
| 86 | WGLAPI int GLAPIENTRY wglMakeCurrent(HDC,HGLRC); |
| 87 | WGLAPI int GLAPIENTRY wglSetPixelFormat(HDC, int, const PIXELFORMATDESCRIPTOR *); |
| 88 | WGLAPI int GLAPIENTRY wglSwapBuffers(HDC hdc); |
| 89 | WGLAPI HDC GLAPIENTRY wglGetCurrentDC(void); |
| 90 | WGLAPI HGLRC GLAPIENTRY wglCreateContext(HDC); |
| 91 | WGLAPI HGLRC GLAPIENTRY wglCreateLayerContext(HDC,int); |
| 92 | WGLAPI HGLRC GLAPIENTRY wglGetCurrentContext(void); |
| 93 | WGLAPI PROC GLAPIENTRY wglGetProcAddress(const char*); |
| 94 | WGLAPI int GLAPIENTRY wglChoosePixelFormat(HDC, const PIXELFORMATDESCRIPTOR *); |
| 95 | WGLAPI int GLAPIENTRY wglCopyContext(HGLRC, HGLRC, unsigned int); |
| 96 | WGLAPI int GLAPIENTRY wglDeleteContext(HGLRC); |
| 97 | WGLAPI int GLAPIENTRY wglDescribeLayerPlane(HDC, int, int, unsigned int,LPLAYERPLANEDESCRIPTOR); |
| 98 | WGLAPI int GLAPIENTRY wglDescribePixelFormat(HDC,int, unsigned int, LPPIXELFORMATDESCRIPTOR); |
| 99 | WGLAPI int GLAPIENTRY wglGetLayerPaletteEntries(HDC, int, int, int,COLORREF *); |
| 100 | WGLAPI int GLAPIENTRY wglGetPixelFormat(HDC hdc); |
| 101 | WGLAPI int GLAPIENTRY wglMakeCurrent(HDC, HGLRC); |
| 102 | WGLAPI int GLAPIENTRY wglRealizeLayerPalette(HDC, int, int); |
| 103 | WGLAPI int GLAPIENTRY wglSetLayerPaletteEntries(HDC, int, int, int,const COLORREF *); |
| 104 | WGLAPI int GLAPIENTRY wglShareLists(HGLRC, HGLRC); |
| 105 | WGLAPI int GLAPIENTRY wglSwapLayerBuffers(HDC, unsigned int); |
| 106 | WGLAPI int GLAPIENTRY wglUseFontBitmapsA(HDC, unsigned long, unsigned long, unsigned long); |
| 107 | WGLAPI int GLAPIENTRY wglUseFontBitmapsW(HDC, unsigned long, unsigned long, unsigned long); |
| 108 | WGLAPI int GLAPIENTRY wglUseFontOutlinesA(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT); |
| 109 | WGLAPI int GLAPIENTRY wglUseFontOutlinesW(HDC, unsigned long, unsigned long, unsigned long, float,float, int, LPGLYPHMETRICSFLOAT); |
| 110 | WGLAPI int GLAPIENTRY SwapBuffers(HDC); |
| 111 | WGLAPI int GLAPIENTRY ChoosePixelFormat(HDC,const PIXELFORMATDESCRIPTOR *); |
| 112 | WGLAPI int GLAPIENTRY DescribePixelFormat(HDC,int,unsigned int,LPPIXELFORMATDESCRIPTOR); |
| 113 | WGLAPI int GLAPIENTRY GetPixelFormat(HDC); |
| 114 | WGLAPI int GLAPIENTRY SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR *); |
| 115 | |
| 116 | #ifdef _MSC_VER |
| 117 | # pragma warning( pop ) |
| 118 | #endif |
| 119 | |
| 120 | #ifdef __cplusplus |
| 121 | } |
| 122 | #endif |
| 123 | |
| 124 | |
| 125 | #endif /* _mesa_wgl_h_ */ |