TinyGL 0.4.1 for MinGW
glx.h
Go to the documentation of this file.
1#ifndef GLX_H
2#define GLX_H
3
4#include <X11/Xlib.h>
5#include <X11/Xutil.h>
6#include <GL/gl.h>
7
8
9/* the following comes from Mesa */
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15
16#define GLX_VERSION_1_1 1
17
18
19/*
20 * Tokens for glXChooseVisual and glXGetConfig:
21 */
40
41 /* GLX_EXT_visual_info extension */
49};
50
51
52/*
53 * Error codes returned by glXGetConfig:
54 */
55#define GLX_BAD_SCREEN 1
56#define GLX_BAD_ATTRIBUTE 2
57#define GLX_NO_EXTENSION 3
58#define GLX_BAD_VISUAL 4
59#define GLX_BAD_CONTEXT 5
60#define GLX_BAD_VALUE 6
61#define GLX_BAD_ENUM 7
62
63
64/*
65 * GLX 1.1 and later:
66 */
67#define GLX_VENDOR 1
68#define GLX_VERSION 2
69#define GLX_EXTENSIONS 3
70
71
72/*
73 * GLX_visual_info extension
74 */
75#define GLX_TRUE_COLOR_EXT 0x8002
76#define GLX_DIRECT_COLOR_EXT 0x8003
77#define GLX_PSEUDO_COLOR_EXT 0x8004
78#define GLX_STATIC_COLOR_EXT 0x8005
79#define GLX_GRAY_SCALE_EXT 0x8006
80#define GLX_STATIC_GRAY_EXT 0x8007
81#define GLX_NONE_EXT 0x8000
82#define GLX_TRANSPARENT_RGB_EXT 0x8008
83#define GLX_TRANSPARENT_INDEX_EXT 0x8009
84
85
86typedef void *GLXContext;
87typedef Pixmap GLXPixmap;
88typedef Drawable GLXDrawable;
89typedef XID GLXContextID;
90
91
92extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
93 int *attribList );
94
95extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
96 GLXContext shareList, Bool direct );
97
98extern void glXDestroyContext( Display *dpy, GLXContext ctx );
99
100extern Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable,
101 GLXContext ctx);
102
103extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
104 GLuint mask );
105
106extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable );
107
108extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual,
109 Pixmap pixmap );
110
111extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
112
113extern Bool glXQueryExtension( Display *dpy, int *errorb, int *event );
114
115extern Bool glXQueryVersion( Display *dpy, int *maj, int *min );
116
117extern Bool glXIsDirect( Display *dpy, GLXContext ctx );
118
119extern int glXGetConfig( Display *dpy, XVisualInfo *visual,
120 int attrib, int *value );
121
123
125
126extern void glXWaitGL( void );
127
128extern void glXWaitX( void );
129
130extern void glXUseXFont( Font font, int first, int count, int list );
131
132
133/* GLX 1.1 and later */
134extern const char *glXQueryExtensionsString( Display *dpy, int screen );
135
136extern const char *glXQueryServerString( Display *dpy, int screen, int name );
137
138extern const char *glXGetClientString( Display *dpy, int name );
139
140#ifdef __cplusplus
141}
142#endif
143
144#endif
unsigned int GLuint
Definition: gl.h:670
GLXDrawable glXGetCurrentDrawable(void)
XID GLXContextID
Definition: glx.h:89
Bool glXQueryVersion(Display *dpy, int *maj, int *min)
GLXContext glXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct)
Definition: glx.c:57
void glXWaitGL(void)
Definition: glx.c:407
void glXDestroyGLXPixmap(Display *dpy, GLXPixmap pixmap)
GLXContext glXGetCurrentContext(void)
int glXGetConfig(Display *dpy, XVisualInfo *visual, int attrib, int *value)
Bool glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx)
Definition: glx.c:258
const char * glXQueryServerString(Display *dpy, int screen, int name)
Bool glXIsDirect(Display *dpy, GLXContext ctx)
const char * glXGetClientString(Display *dpy, int name)
Drawable GLXDrawable
Definition: glx.h:88
_GLX_CONFIGS
Definition: glx.h:22
@ GLX_ACCUM_RED_SIZE
Definition: glx.h:36
@ GLX_ACCUM_BLUE_SIZE
Definition: glx.h:38
@ GLX_DEPTH_SIZE
Definition: glx.h:34
@ GLX_BUFFER_SIZE
Definition: glx.h:24
@ GLX_STEREO
Definition: glx.h:28
@ GLX_TRANSPARENT_BLUE_VALUE_EXT
Definition: glx.h:47
@ GLX_RGBA
Definition: glx.h:26
@ GLX_BLUE_SIZE
Definition: glx.h:32
@ GLX_DOUBLEBUFFER
Definition: glx.h:27
@ GLX_USE_GL
Definition: glx.h:23
@ GLX_RED_SIZE
Definition: glx.h:30
@ GLX_TRANSPARENT_TYPE_EXT
Definition: glx.h:43
@ GLX_AUX_BUFFERS
Definition: glx.h:29
@ GLX_TRANSPARENT_GREEN_VALUE_EXT
Definition: glx.h:46
@ GLX_TRANSPARENT_ALPHA_VALUE_EXT
Definition: glx.h:48
@ GLX_X_VISUAL_TYPE_EXT
Definition: glx.h:42
@ GLX_LEVEL
Definition: glx.h:25
@ GLX_TRANSPARENT_INDEX_VALUE_EXT
Definition: glx.h:44
@ GLX_TRANSPARENT_RED_VALUE_EXT
Definition: glx.h:45
@ GLX_GREEN_SIZE
Definition: glx.h:31
@ GLX_ACCUM_GREEN_SIZE
Definition: glx.h:37
@ GLX_ACCUM_ALPHA_SIZE
Definition: glx.h:39
@ GLX_ALPHA_SIZE
Definition: glx.h:33
@ GLX_STENCIL_SIZE
Definition: glx.h:35
void glXDestroyContext(Display *dpy, GLXContext ctx)
Definition: glx.c:72
void glXUseXFont(Font font, int first, int count, int list)
const char * glXQueryExtensionsString(Display *dpy, int screen)
XVisualInfo * glXChooseVisual(Display *dpy, int screen, int *attribList)
Definition: glx.c:30
Bool glXQueryExtension(Display *dpy, int *errorb, int *event)
Definition: glx.c:24
void * GLXContext
Definition: glx.h:86
void glXSwapBuffers(Display *dpy, GLXDrawable drawable)
Definition: glx.c:372
void glXWaitX(void)
Definition: glx.c:411
void glXCopyContext(Display *dpy, GLXContext src, GLXContext dst, GLuint mask)
Pixmap GLXPixmap
Definition: glx.h:87
GLXPixmap glXCreateGLXPixmap(Display *dpy, XVisualInfo *visual, Pixmap pixmap)
Display * dpy
Definition: x11.c:26