Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenglx.h
Go to the documentation of this file.
00001 /* 00002 * Mesa 3-D graphics library 00003 * Version: 6.5 00004 * 00005 * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. 00006 * 00007 * Permission is hereby granted, free of charge, to any person obtaining a 00008 * copy of this software and associated documentation files (the "Software"), 00009 * to deal in the Software without restriction, including without limitation 00010 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 00011 * and/or sell copies of the Software, and to permit persons to whom the 00012 * Software is furnished to do so, subject to the following conditions: 00013 * 00014 * The above copyright notice and this permission notice shall be included 00015 * in all copies or substantial portions of the Software. 00016 * 00017 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00018 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00019 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00020 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00021 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00022 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00023 */ 00024 00025 00026 #ifndef GLX_H 00027 #define GLX_H 00028 00029 00030 #ifdef __VMS 00031 #include <GL/vms_x_fix.h> 00032 # ifdef __cplusplus 00033 /* VMS Xlib.h gives problems with C++. 00034 * this avoids a bunch of trivial warnings */ 00035 #pragma message disable nosimpint 00036 #endif 00037 #endif 00038 #include <X11/Xlib.h> 00039 #include <X11/Xutil.h> 00040 #ifdef __VMS 00041 # ifdef __cplusplus 00042 #pragma message enable nosimpint 00043 #endif 00044 #endif 00045 #include <GL/gl.h> 00046 00047 00048 #if defined(USE_MGL_NAMESPACE) 00049 #include "glx_mangle.h" 00050 #endif 00051 00052 00053 #ifdef __cplusplus 00054 extern "C" { 00055 #endif 00056 00057 00058 #define GLX_VERSION_1_1 1 00059 #define GLX_VERSION_1_2 1 00060 #define GLX_VERSION_1_3 1 00061 #define GLX_VERSION_1_4 1 00062 00063 #define GLX_EXTENSION_NAME "GLX" 00064 00065 00066 00067 /* 00068 * Tokens for glXChooseVisual and glXGetConfig: 00069 */ 00070 #define GLX_USE_GL 1 00071 #define GLX_BUFFER_SIZE 2 00072 #define GLX_LEVEL 3 00073 #define GLX_RGBA 4 00074 #define GLX_DOUBLEBUFFER 5 00075 #define GLX_STEREO 6 00076 #define GLX_AUX_BUFFERS 7 00077 #define GLX_RED_SIZE 8 00078 #define GLX_GREEN_SIZE 9 00079 #define GLX_BLUE_SIZE 10 00080 #define GLX_ALPHA_SIZE 11 00081 #define GLX_DEPTH_SIZE 12 00082 #define GLX_STENCIL_SIZE 13 00083 #define GLX_ACCUM_RED_SIZE 14 00084 #define GLX_ACCUM_GREEN_SIZE 15 00085 #define GLX_ACCUM_BLUE_SIZE 16 00086 #define GLX_ACCUM_ALPHA_SIZE 17 00087 00088 00089 /* 00090 * Error codes returned by glXGetConfig: 00091 */ 00092 #define GLX_BAD_SCREEN 1 00093 #define GLX_BAD_ATTRIBUTE 2 00094 #define GLX_NO_EXTENSION 3 00095 #define GLX_BAD_VISUAL 4 00096 #define GLX_BAD_CONTEXT 5 00097 #define GLX_BAD_VALUE 6 00098 #define GLX_BAD_ENUM 7 00099 00100 00101 /* 00102 * GLX 1.1 and later: 00103 */ 00104 #define GLX_VENDOR 1 00105 #define GLX_VERSION 2 00106 #define GLX_EXTENSIONS 3 00107 00108 00109 /* 00110 * GLX 1.3 and later: 00111 */ 00112 #define GLX_CONFIG_CAVEAT 0x20 00113 #define GLX_DONT_CARE 0xFFFFFFFF 00114 #define GLX_X_VISUAL_TYPE 0x22 00115 #define GLX_TRANSPARENT_TYPE 0x23 00116 #define GLX_TRANSPARENT_INDEX_VALUE 0x24 00117 #define GLX_TRANSPARENT_RED_VALUE 0x25 00118 #define GLX_TRANSPARENT_GREEN_VALUE 0x26 00119 #define GLX_TRANSPARENT_BLUE_VALUE 0x27 00120 #define GLX_TRANSPARENT_ALPHA_VALUE 0x28 00121 #define GLX_WINDOW_BIT 0x00000001 00122 #define GLX_PIXMAP_BIT 0x00000002 00123 #define GLX_PBUFFER_BIT 0x00000004 00124 #define GLX_AUX_BUFFERS_BIT 0x00000010 00125 #define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001 00126 #define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002 00127 #define GLX_BACK_LEFT_BUFFER_BIT 0x00000004 00128 #define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008 00129 #define GLX_DEPTH_BUFFER_BIT 0x00000020 00130 #define GLX_STENCIL_BUFFER_BIT 0x00000040 00131 #define GLX_ACCUM_BUFFER_BIT 0x00000080 00132 #define GLX_NONE 0x8000 00133 #define GLX_SLOW_CONFIG 0x8001 00134 #define GLX_TRUE_COLOR 0x8002 00135 #define GLX_DIRECT_COLOR 0x8003 00136 #define GLX_PSEUDO_COLOR 0x8004 00137 #define GLX_STATIC_COLOR 0x8005 00138 #define GLX_GRAY_SCALE 0x8006 00139 #define GLX_STATIC_GRAY 0x8007 00140 #define GLX_TRANSPARENT_RGB 0x8008 00141 #define GLX_TRANSPARENT_INDEX 0x8009 00142 #define GLX_VISUAL_ID 0x800B 00143 #define GLX_SCREEN 0x800C 00144 #define GLX_NON_CONFORMANT_CONFIG 0x800D 00145 #define GLX_DRAWABLE_TYPE 0x8010 00146 #define GLX_RENDER_TYPE 0x8011 00147 #define GLX_X_RENDERABLE 0x8012 00148 #define GLX_FBCONFIG_ID 0x8013 00149 #define GLX_RGBA_TYPE 0x8014 00150 #define GLX_COLOR_INDEX_TYPE 0x8015 00151 #define GLX_MAX_PBUFFER_WIDTH 0x8016 00152 #define GLX_MAX_PBUFFER_HEIGHT 0x8017 00153 #define GLX_MAX_PBUFFER_PIXELS 0x8018 00154 #define GLX_PRESERVED_CONTENTS 0x801B 00155 #define GLX_LARGEST_PBUFFER 0x801C 00156 #define GLX_WIDTH 0x801D 00157 #define GLX_HEIGHT 0x801E 00158 #define GLX_EVENT_MASK 0x801F 00159 #define GLX_DAMAGED 0x8020 00160 #define GLX_SAVED 0x8021 00161 #define GLX_WINDOW 0x8022 00162 #define GLX_PBUFFER 0x8023 00163 #define GLX_PBUFFER_HEIGHT 0x8040 00164 #define GLX_PBUFFER_WIDTH 0x8041 00165 #define GLX_RGBA_BIT 0x00000001 00166 #define GLX_COLOR_INDEX_BIT 0x00000002 00167 #define GLX_PBUFFER_CLOBBER_MASK 0x08000000 00168 00169 00170 /* 00171 * GLX 1.4 and later: 00172 */ 00173 #define GLX_SAMPLE_BUFFERS 0x186a0 /*100000*/ 00174 #define GLX_SAMPLES 0x186a1 /*100001*/ 00175 00176 00177 00178 typedef struct __GLXcontextRec *GLXContext; 00179 typedef XID GLXPixmap; 00180 typedef XID GLXDrawable; 00181 /* GLX 1.3 and later */ 00182 typedef struct __GLXFBConfigRec *GLXFBConfig; 00183 typedef XID GLXFBConfigID; 00184 typedef XID GLXContextID; 00185 typedef XID GLXWindow; 00186 typedef XID GLXPbuffer; 00187 00188 00189 00190 extern XVisualInfo* glXChooseVisual( Display *dpy, int screen, 00191 int *attribList ); 00192 00193 extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis, 00194 GLXContext shareList, Bool direct ); 00195 00196 extern void glXDestroyContext( Display *dpy, GLXContext ctx ); 00197 00198 extern Bool glXMakeCurrent( Display *dpy, GLXDrawable drawable, 00199 GLXContext ctx); 00200 00201 extern void glXCopyContext( Display *dpy, GLXContext src, GLXContext dst, 00202 unsigned long mask ); 00203 00204 extern void glXSwapBuffers( Display *dpy, GLXDrawable drawable ); 00205 00206 extern GLXPixmap glXCreateGLXPixmap( Display *dpy, XVisualInfo *visual, 00207 Pixmap pixmap ); 00208 00209 extern void glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap ); 00210 00211 extern Bool glXQueryExtension( Display *dpy, int *errorb, int *event ); 00212 00213 extern Bool glXQueryVersion( Display *dpy, int *maj, int *min ); 00214 00215 extern Bool glXIsDirect( Display *dpy, GLXContext ctx ); 00216 00217 extern int glXGetConfig( Display *dpy, XVisualInfo *visual, 00218 int attrib, int *value ); 00219 00220 extern GLXContext glXGetCurrentContext( void ); 00221 00222 extern GLXDrawable glXGetCurrentDrawable( void ); 00223 00224 extern void glXWaitGL( void ); 00225 00226 extern void glXWaitX( void ); 00227 00228 extern void glXUseXFont( Font font, int first, int count, int list ); 00229 00230 00231 00232 /* GLX 1.1 and later */ 00233 extern const char *glXQueryExtensionsString( Display *dpy, int screen ); 00234 00235 extern const char *glXQueryServerString( Display *dpy, int screen, int name ); 00236 00237 extern const char *glXGetClientString( Display *dpy, int name ); 00238 00239 00240 /* GLX 1.2 and later */ 00241 extern Display *glXGetCurrentDisplay( void ); 00242 00243 00244 /* GLX 1.3 and later */ 00245 extern GLXFBConfig *glXChooseFBConfig( Display *dpy, int screen, 00246 const int *attribList, int *nitems ); 00247 00248 extern int glXGetFBConfigAttrib( Display *dpy, GLXFBConfig config, 00249 int attribute, int *value ); 00250 00251 extern GLXFBConfig *glXGetFBConfigs( Display *dpy, int screen, 00252 int *nelements ); 00253 00254 extern XVisualInfo *glXGetVisualFromFBConfig( Display *dpy, 00255 GLXFBConfig config ); 00256 00257 extern GLXWindow glXCreateWindow( Display *dpy, GLXFBConfig config, 00258 Window win, const int *attribList ); 00259 00260 extern void glXDestroyWindow( Display *dpy, GLXWindow window ); 00261 00262 extern GLXPixmap glXCreatePixmap( Display *dpy, GLXFBConfig config, 00263 Pixmap pixmap, const int *attribList ); 00264 00265 extern void glXDestroyPixmap( Display *dpy, GLXPixmap pixmap ); 00266 00267 extern GLXPbuffer glXCreatePbuffer( Display *dpy, GLXFBConfig config, 00268 const int *attribList ); 00269 00270 extern void glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf ); 00271 00272 extern void glXQueryDrawable( Display *dpy, GLXDrawable draw, int attribute, 00273 unsigned int *value ); 00274 00275 extern GLXContext glXCreateNewContext( Display *dpy, GLXFBConfig config, 00276 int renderType, GLXContext shareList, 00277 Bool direct ); 00278 00279 extern Bool glXMakeContextCurrent( Display *dpy, GLXDrawable draw, 00280 GLXDrawable read, GLXContext ctx ); 00281 00282 extern GLXDrawable glXGetCurrentReadDrawable( void ); 00283 00284 extern int glXQueryContext( Display *dpy, GLXContext ctx, int attribute, 00285 int *value ); 00286 00287 extern void glXSelectEvent( Display *dpy, GLXDrawable drawable, 00288 unsigned long mask ); 00289 00290 extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable, 00291 unsigned long *mask ); 00292 00293 /* GLX 1.3 function pointer typedefs */ 00294 typedef GLXFBConfig * (* PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements); 00295 typedef GLXFBConfig * (* PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements); 00296 typedef int (* PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value); 00297 typedef XVisualInfo * (* PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config); 00298 typedef GLXWindow (* PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list); 00299 typedef void (* PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win); 00300 typedef GLXPixmap (* PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list); 00301 typedef void (* PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap); 00302 typedef GLXPbuffer (* PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list); 00303 typedef void (* PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf); 00304 typedef void (* PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value); 00305 typedef GLXContext (* PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct); 00306 typedef Bool (* PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx); 00307 typedef GLXDrawable (* PFNGLXGETCURRENTREADDRAWABLEPROC) (void); 00308 typedef Display * (* PFNGLXGETCURRENTDISPLAYPROC) (void); 00309 typedef int (* PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value); 00310 typedef void (* PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask); 00311 typedef void (* PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask); 00312 00313 00314 /* 00315 * ARB 2. GLX_ARB_get_proc_address 00316 */ 00317 #ifndef GLX_ARB_get_proc_address 00318 #define GLX_ARB_get_proc_address 1 00319 00320 typedef void (*__GLXextFuncPtr)(void); 00321 extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *); 00322 00323 #endif /* GLX_ARB_get_proc_address */ 00324 00325 00326 00327 /* GLX 1.4 and later */ 00328 extern void (*glXGetProcAddress(const GLubyte *procname))( void ); 00329 00330 /* GLX 1.4 function pointer typedefs */ 00331 typedef __GLXextFuncPtr (* PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName); 00332 00333 00334 #ifndef GLX_GLXEXT_LEGACY 00335 00336 #include <GL/glxext.h> 00337 00338 #endif /* GLX_GLXEXT_LEGACY */ 00339 00340 00346 /* 00347 * ???. GLX_NV_vertex_array_range 00348 */ 00349 #ifndef GLX_NV_vertex_array_range 00350 #define GLX_NV_vertex_array_range 00351 00352 extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 00353 extern void glXFreeMemoryNV(GLvoid *pointer); 00354 typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 00355 typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer); 00356 00357 #endif /* GLX_NV_vertex_array_range */ 00358 00359 00360 /* 00361 * ???. GLX_MESA_allocate_memory 00362 */ 00363 #ifndef GLX_MESA_allocate_memory 00364 #define GLX_MESA_allocate_memory 1 00365 00366 extern void *glXAllocateMemoryMESA(Display *dpy, int scrn, size_t size, float readfreq, float writefreq, float priority); 00367 extern void glXFreeMemoryMESA(Display *dpy, int scrn, void *pointer); 00368 extern GLuint glXGetMemoryOffsetMESA(Display *dpy, int scrn, const void *pointer); 00369 typedef void * ( * PFNGLXALLOCATEMEMORYMESAPROC) (Display *dpy, int scrn, size_t size, float readfreq, float writefreq, float priority); 00370 typedef void ( * PFNGLXFREEMEMORYMESAPROC) (Display *dpy, int scrn, void *pointer); 00371 typedef GLuint (* PFNGLXGETMEMORYOFFSETMESAPROC) (Display *dpy, int scrn, const void *pointer); 00372 00373 #endif /* GLX_MESA_allocate_memory */ 00374 00375 00376 /* 00377 * ARB ?. GLX_ARB_render_texture 00378 * XXX This was never finalized! 00379 */ 00380 #ifndef GLX_ARB_render_texture 00381 #define GLX_ARB_render_texture 1 00382 00383 extern Bool glXBindTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer); 00384 extern Bool glXReleaseTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer); 00385 extern Bool glXDrawableAttribARB(Display *dpy, GLXDrawable draw, const int *attribList); 00386 00387 #endif /* GLX_ARB_render_texture */ 00388 00389 00390 /* 00391 * Remove this when glxext.h is updated. 00392 */ 00393 #ifndef GLX_NV_float_buffer 00394 #define GLX_NV_float_buffer 1 00395 00396 #define GLX_FLOAT_COMPONENTS_NV 0x20B0 00397 00398 #endif /* GLX_NV_float_buffer */ 00399 00400 00401 00402 /* 00403 * #?. GLX_MESA_swap_frame_usage 00404 */ 00405 #ifndef GLX_MESA_swap_frame_usage 00406 #define GLX_MESA_swap_frame_usage 1 00407 00408 extern int glXGetFrameUsageMESA(Display *dpy, GLXDrawable drawable, float *usage); 00409 extern int glXBeginFrameTrackingMESA(Display *dpy, GLXDrawable drawable); 00410 extern int glXEndFrameTrackingMESA(Display *dpy, GLXDrawable drawable); 00411 extern int glXQueryFrameTrackingMESA(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage); 00412 00413 typedef int (*PFNGLXGETFRAMEUSAGEMESAPROC) (Display *dpy, GLXDrawable drawable, float *usage); 00414 typedef int (*PFNGLXBEGINFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable); 00415 typedef int (*PFNGLXENDFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable); 00416 typedef int (*PFNGLXQUERYFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage); 00417 00418 #endif /* GLX_MESA_swap_frame_usage */ 00419 00420 00421 00422 /* 00423 * #?. GLX_MESA_swap_control 00424 */ 00425 #ifndef GLX_MESA_swap_control 00426 #define GLX_MESA_swap_control 1 00427 00428 extern int glXSwapIntervalMESA(unsigned int interval); 00429 extern int glXGetSwapIntervalMESA(void); 00430 00431 typedef int (*PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval); 00432 typedef int (*PFNGLXGETSWAPINTERVALMESAPROC)(void); 00433 00434 #endif /* GLX_MESA_swap_control */ 00435 00436 00437 00438 /* 00439 * #?. GLX_EXT_texture_from_pixmap 00440 * XXX not finished? 00441 */ 00442 #ifndef GLX_EXT_texture_from_pixmap 00443 #define GLX_EXT_texture_from_pixmap 1 00444 00445 #define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0 00446 #define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1 00447 #define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2 00448 #define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3 00449 #define GLX_Y_INVERTED_EXT 0x20D4 00450 00451 #define GLX_TEXTURE_FORMAT_EXT 0x20D5 00452 #define GLX_TEXTURE_TARGET_EXT 0x20D6 00453 #define GLX_MIPMAP_TEXTURE_EXT 0x20D7 00454 00455 #define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8 00456 #define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9 00457 #define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA 00458 00459 #define GLX_TEXTURE_1D_BIT_EXT 0x00000001 00460 #define GLX_TEXTURE_2D_BIT_EXT 0x00000002 00461 #define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004 00462 00463 #define GLX_TEXTURE_1D_EXT 0x20DB 00464 #define GLX_TEXTURE_2D_EXT 0x20DC 00465 #define GLX_TEXTURE_RECTANGLE_EXT 0x20DD 00466 00467 #define GLX_FRONT_LEFT_EXT 0x20DE 00468 #define GLX_FRONT_RIGHT_EXT 0x20DF 00469 #define GLX_BACK_LEFT_EXT 0x20E0 00470 #define GLX_BACK_RIGHT_EXT 0x20E1 00471 #define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT 00472 #define GLX_BACK_EXT GLX_BACK_LEFT_EXT 00473 #define GLX_AUX0_EXT 0x20E2 00474 #define GLX_AUX1_EXT 0x20E3 00475 #define GLX_AUX2_EXT 0x20E4 00476 #define GLX_AUX3_EXT 0x20E5 00477 #define GLX_AUX4_EXT 0x20E6 00478 #define GLX_AUX5_EXT 0x20E7 00479 #define GLX_AUX6_EXT 0x20E8 00480 #define GLX_AUX7_EXT 0x20E9 00481 #define GLX_AUX8_EXT 0x20EA 00482 #define GLX_AUX9_EXT 0x20EB 00483 00484 extern void glXBindTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer, const int *attrib_list); 00485 extern void glXReleaseTexImageEXT(Display *dpy, GLXDrawable drawable, int buffer); 00486 00487 #endif /* GLX_EXT_texture_from_pixmap */ 00488 00489 00490 00491 00492 /*** Should these go here, or in another header? */ 00493 /* 00494 ** GLX Events 00495 */ 00496 typedef struct { 00497 int event_type; /* GLX_DAMAGED or GLX_SAVED */ 00498 int draw_type; /* GLX_WINDOW or GLX_PBUFFER */ 00499 unsigned long serial; /* # of last request processed by server */ 00500 Bool send_event; /* true if this came for SendEvent request */ 00501 Display *display; /* display the event was read from */ 00502 GLXDrawable drawable; /* XID of Drawable */ 00503 unsigned int buffer_mask; /* mask indicating which buffers are affected */ 00504 unsigned int aux_buffer; /* which aux buffer was affected */ 00505 int x, y; 00506 int width, height; 00507 int count; /* if nonzero, at least this many more */ 00508 } GLXPbufferClobberEvent; 00509 00510 typedef union __GLXEvent { 00511 GLXPbufferClobberEvent glxpbufferclobber; 00512 long pad[24]; 00513 } GLXEvent; 00514 00515 #ifdef __cplusplus 00516 } 00517 #endif 00518 00519 #endif Generated on Fri May 25 2012 04:17:59 for ReactOS by
1.7.6.1
|