1 #ifndef __win32_glx_h__
2 #define __win32_glx_h__
3 
4 /* Copyright (c) Nate Robins, 1997. */
5 
6 /* This program is freely distributable without licensing fees
7    and is provided without guarantee or warrantee expressed or
8    implied. This program is -not- in the public domain. */
9 
10 
11 #include "win32_x11.h"
12 
13 
14 /* Type definitions (conversions) */
15 typedef HGLRC GLXContext;
16 
17 #define GLX_USE_GL              1       /* support GLX rendering */
18 #define GLX_BUFFER_SIZE         2       /* depth of the color buffer */
19 #define GLX_LEVEL               3       /* level in plane stacking */
20 #define GLX_RGBA                4       /* true if RGBA mode */
21 #define GLX_DOUBLEBUFFER        5       /* double buffering supported */
22 #define GLX_STEREO              6       /* stereo buffering supported */
23 #define GLX_AUX_BUFFERS         7       /* number of aux buffers */
24 #define GLX_RED_SIZE            8       /* number of red component bits */
25 #define GLX_GREEN_SIZE          9       /* number of green component bits */
26 #define GLX_BLUE_SIZE           10      /* number of blue component bits */
27 #define GLX_ALPHA_SIZE          11      /* number of alpha component bits */
28 #define GLX_DEPTH_SIZE          12      /* number of depth bits */
29 #define GLX_STENCIL_SIZE        13      /* number of stencil bits */
30 #define GLX_ACCUM_RED_SIZE      14      /* number of red accum bits */
31 #define GLX_ACCUM_GREEN_SIZE    15      /* number of green accum bits */
32 #define GLX_ACCUM_BLUE_SIZE     16      /* number of blue accum bits */
33 #define GLX_ACCUM_ALPHA_SIZE    17      /* number of alpha accum bits */
34 
35 #define GLX_BAD_ATTRIB  2
36 #define GLX_BAD_VISUAL  4
37 
38 /* Function prototypes */
39 
40 void
41 glXDestroyContext(Display* display, GLXContext context);
42 
43 GLXContext
44 glXCreateContext(Display* display, XVisualInfo* visinfo,
45 		 GLXContext share, Bool direct);
46 
47 Bool
48 glXIsDirect(Display* display, GLXContext context);
49 
50 void
51 glXSwapBuffers(Display* display, Window window);
52 
53 Bool
54 glXMakeCurrent(Display* display, Window window, GLXContext context);
55 
56 int
57 glXGetConfig(Display* display, XVisualInfo* visual, int attrib, int* value);
58 
59 XVisualInfo*
60 glXChooseVisual(Display* display, int screen, int* attribList);
61 
62 void
63 glXPrintPixelFormat(int pf, PIXELFORMATDESCRIPTOR* pfd);
64 
65 #endif /* __win32_glx_h__ */
66