1 /* $Id: mesa_wgl.h,v 1.6 2001/05/07 13:58:00 gareth Exp $ */
4 * Mesa 3-D graphics library
7 * Copyright (C) 1999 Brian Paul All Rights Reserved.
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:
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
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.
28 /* prototypes for the Mesa WGL functions */
29 /* relocated here so that I could make GLUT get them properly */
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 */
53 # define WGLAPI __declspec(dllimport)
54 # endif /* _STATIC_MESA support */
55 # define GLAPIENTRY __stdcall
57 /* non-Windows compilation */
60 #endif /* WIN32 / CYGWIN32 bracket */
63 #if defined(_WIN32) && !defined(_WINGDI_) && !defined(_GNU_H_WINDOWS32_DEFINES) && !defined(OPENSTEP)
64 #ifndef _GNU_H_WINDOWS32_FUNCTIONS
66 # define wglUseFontBitmaps wglUseFontBitmapsW
67 # define wglUseFontOutlines wglUseFontOutlinesW
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
;
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. */
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
*);
117 # pragma warning( pop )
125 #endif /* _mesa_wgl_h_ */