< prev index next >
src/java.desktop/unix/native/common/java2d/opengl/J2D_GL/glx.h
Print this page
*** 20,41 ****
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
- /* $Id: glx.h,v 1.38 2002/10/14 13:52:27 brianp Exp $ */
/*
* This file is available under and governed by the GNU General Public
* License version 2 only, as published by the Free Software Foundation.
* However, the following notice accompanied the original version of this
* file:
*
* Mesa 3-D graphics library
- * Version: 4.1
*
! * Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
--- 20,39 ----
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* This file is available under and governed by the GNU General Public
* License version 2 only, as published by the Free Software Foundation.
* However, the following notice accompanied the original version of this
* file:
*
* Mesa 3-D graphics library
*
! * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
*** 46,90 ****
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
! * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
! * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
! * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef GLX_H
#define GLX_H
- #ifdef __VMS
- #include <GL/vms_x_fix.h>
- # ifdef __cplusplus
- /* VMS Xlib.h gives problems with C++.
- * this avoids a bunch of trivial warnings */
- #pragma message disable nosimpint
- #endif
- #endif
#include <X11/Xlib.h>
#include <X11/Xutil.h>
! #ifdef __VMS
! # ifdef __cplusplus
! #pragma message enable nosimpint
! #endif
! #endif
!
! /* modified for inclusion in Java 2D source tree */
! /* #include <GL/gl.h> */
#include "J2D_GL/gl.h"
! /*
#if defined(USE_MGL_NAMESPACE)
! #include <GL/glx_mangle.h>
#endif
- */
#ifdef __cplusplus
extern "C" {
#endif
--- 44,73 ----
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
! * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
! * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
! * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
! * OTHER DEALINGS IN THE SOFTWARE.
*/
#ifndef GLX_H
#define GLX_H
#include <X11/Xlib.h>
#include <X11/Xutil.h>
! /* JDK modification of include path to be sure to pick up the correct file */
#include "J2D_GL/gl.h"
!
#if defined(USE_MGL_NAMESPACE)
! #include "glx_mangle.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
*** 144,173 ****
/*
* GLX 1.3 and later:
*/
#define GLX_CONFIG_CAVEAT 0x20
#define GLX_DONT_CARE 0xFFFFFFFF
- #define GLX_SLOW_CONFIG 0x8001
- #define GLX_NON_CONFORMANT_CONFIG 0x800D
#define GLX_X_VISUAL_TYPE 0x22
#define GLX_TRANSPARENT_TYPE 0x23
#define GLX_TRANSPARENT_INDEX_VALUE 0x24
#define GLX_TRANSPARENT_RED_VALUE 0x25
#define GLX_TRANSPARENT_GREEN_VALUE 0x26
#define GLX_TRANSPARENT_BLUE_VALUE 0x27
#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
- #define GLX_MAX_PBUFFER_WIDTH 0x8016
- #define GLX_MAX_PBUFFER_HEIGHT 0x8017
- #define GLX_MAX_PBUFFER_PIXELS 0x8018
- #define GLX_PRESERVED_CONTENTS 0x801B
- #define GLX_LARGEST_PBUFFER 0x801C
- #define GLX_WIDTH 0x801D
- #define GLX_HEIGHT 0x801E
- #define GLX_EVENT_MASK 0x801F
- #define GLX_DRAWABLE_TYPE 0x8010
- #define GLX_FBCONFIG_ID 0x8013
- #define GLX_VISUAL_ID 0x800B
#define GLX_WINDOW_BIT 0x00000001
#define GLX_PIXMAP_BIT 0x00000002
#define GLX_PBUFFER_BIT 0x00000004
#define GLX_AUX_BUFFERS_BIT 0x00000010
#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
--- 127,143 ----
*** 175,218 ****
#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
#define GLX_DEPTH_BUFFER_BIT 0x00000020
#define GLX_STENCIL_BUFFER_BIT 0x00000040
#define GLX_ACCUM_BUFFER_BIT 0x00000080
- #define GLX_DRAWABLE_TYPE 0x8010
- #define GLX_RENDER_TYPE 0x8011
- #define GLX_X_RENDERABLE 0x8012
#define GLX_NONE 0x8000
#define GLX_TRUE_COLOR 0x8002
#define GLX_DIRECT_COLOR 0x8003
#define GLX_PSEUDO_COLOR 0x8004
#define GLX_STATIC_COLOR 0x8005
#define GLX_GRAY_SCALE 0x8006
#define GLX_STATIC_GRAY 0x8007
#define GLX_TRANSPARENT_RGB 0x8008
#define GLX_TRANSPARENT_INDEX 0x8009
#define GLX_RGBA_TYPE 0x8014
#define GLX_COLOR_INDEX_TYPE 0x8015
! #define GLX_COLOR_INDEX_BIT 0x00000002
! #define GLX_RGBA_BIT 0x00000001
! #define GLX_SCREEN 0x800C
! #define GLX_PBUFFER_CLOBBER_MASK 0x08000000
#define GLX_DAMAGED 0x8020
#define GLX_SAVED 0x8021
#define GLX_WINDOW 0x8022
#define GLX_PBUFFER 0x8023
-
- /**
- * REMIND: these values are backwards from Sun's OpenGL headers, so we
- * swap them here if building on Solaris/Sparc
- */
- #ifdef __sparc
- #define GLX_PBUFFER_HEIGHT 0x8041
- #define GLX_PBUFFER_WIDTH 0x8040
- #else /* __sparc */
#define GLX_PBUFFER_HEIGHT 0x8040
#define GLX_PBUFFER_WIDTH 0x8041
! #endif /* __sparc */
/*
* GLX 1.4 and later:
*/
#define GLX_SAMPLE_BUFFERS 0x186a0 /*100000*/
--- 145,191 ----
#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
#define GLX_DEPTH_BUFFER_BIT 0x00000020
#define GLX_STENCIL_BUFFER_BIT 0x00000040
#define GLX_ACCUM_BUFFER_BIT 0x00000080
#define GLX_NONE 0x8000
+ #define GLX_SLOW_CONFIG 0x8001
#define GLX_TRUE_COLOR 0x8002
#define GLX_DIRECT_COLOR 0x8003
#define GLX_PSEUDO_COLOR 0x8004
#define GLX_STATIC_COLOR 0x8005
#define GLX_GRAY_SCALE 0x8006
#define GLX_STATIC_GRAY 0x8007
#define GLX_TRANSPARENT_RGB 0x8008
#define GLX_TRANSPARENT_INDEX 0x8009
+ #define GLX_VISUAL_ID 0x800B
+ #define GLX_SCREEN 0x800C
+ #define GLX_NON_CONFORMANT_CONFIG 0x800D
+ #define GLX_DRAWABLE_TYPE 0x8010
+ #define GLX_RENDER_TYPE 0x8011
+ #define GLX_X_RENDERABLE 0x8012
+ #define GLX_FBCONFIG_ID 0x8013
#define GLX_RGBA_TYPE 0x8014
#define GLX_COLOR_INDEX_TYPE 0x8015
! #define GLX_MAX_PBUFFER_WIDTH 0x8016
! #define GLX_MAX_PBUFFER_HEIGHT 0x8017
! #define GLX_MAX_PBUFFER_PIXELS 0x8018
! #define GLX_PRESERVED_CONTENTS 0x801B
! #define GLX_LARGEST_PBUFFER 0x801C
! #define GLX_WIDTH 0x801D
! #define GLX_HEIGHT 0x801E
! #define GLX_EVENT_MASK 0x801F
#define GLX_DAMAGED 0x8020
#define GLX_SAVED 0x8021
#define GLX_WINDOW 0x8022
#define GLX_PBUFFER 0x8023
#define GLX_PBUFFER_HEIGHT 0x8040
#define GLX_PBUFFER_WIDTH 0x8041
! #define GLX_RGBA_BIT 0x00000001
! #define GLX_COLOR_INDEX_BIT 0x00000002
! #define GLX_PBUFFER_CLOBBER_MASK 0x08000000
!
/*
* GLX 1.4 and later:
*/
#define GLX_SAMPLE_BUFFERS 0x186a0 /*100000*/
*** 229,238 ****
--- 202,221 ----
typedef XID GLXContextID;
typedef XID GLXWindow;
typedef XID GLXPbuffer;
+ /*
+ ** Events.
+ ** __GLX_NUMBER_EVENTS is set to 17 to account for the BufferClobberSGIX
+ ** event - this helps initialization if the server supports the pbuffer
+ ** extension and the client doesn't.
+ */
+ #define GLX_PbufferClobber 0
+ #define GLX_BufferSwapComplete 1
+
+ #define __GLX_NUMBER_EVENTS 17
extern XVisualInfo* glXChooseVisual( Display *dpy, int screen,
int *attribList );
extern GLXContext glXCreateContext( Display *dpy, XVisualInfo *vis,
*** 333,536 ****
unsigned long mask );
extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
unsigned long *mask );
!
! /* GLX 1.4 and later */
! extern void (*glXGetProcAddress(const GLubyte *procname))();
!
!
! #ifndef GLX_GLXEXT_LEGACY
!
! /* modified for inclusion in Java 2D source tree */
! /* #include <GL/glxext.h> */
! #include "J2D_GL/glxext.h"
!
! #else
/*
! * 28. GLX_EXT_visual_info extension
! */
! #ifndef GLX_EXT_visual_info
! #define GLX_EXT_visual_info 1
!
! #define GLX_X_VISUAL_TYPE_EXT 0x22
! #define GLX_TRANSPARENT_TYPE_EXT 0x23
! #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24
! #define GLX_TRANSPARENT_RED_VALUE_EXT 0x25
! #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26
! #define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27
! #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28
! #define GLX_TRUE_COLOR_EXT 0x8002
! #define GLX_DIRECT_COLOR_EXT 0x8003
! #define GLX_PSEUDO_COLOR_EXT 0x8004
! #define GLX_STATIC_COLOR_EXT 0x8005
! #define GLX_GRAY_SCALE_EXT 0x8006
! #define GLX_STATIC_GRAY_EXT 0x8007
! #define GLX_NONE_EXT 0x8000
! #define GLX_TRANSPARENT_RGB_EXT 0x8008
! #define GLX_TRANSPARENT_INDEX_EXT 0x8009
!
! #endif /* 28. GLX_EXT_visual_info extension */
!
!
!
! /*
! * 41. GLX_SGI_video_sync
! */
! #ifndef GLX_SGI_video_sync
! #define GLX_SGI_video_sync 1
!
! extern int glXGetVideoSyncSGI(unsigned int *count);
! extern int glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count);
!
! #endif /* GLX_SGI_video_sync */
!
!
!
! /*
! * 42. GLX_EXT_visual_rating
! */
! #ifndef GLX_EXT_visual_rating
! #define GLX_EXT_visual_rating 1
!
! #define GLX_VISUAL_CAVEAT_EXT 0x20
! /*#define GLX_NONE_EXT 0x8000*/
! #define GLX_SLOW_VISUAL_EXT 0x8001
! #define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
!
! #endif /* GLX_EXT_visual_rating */
!
!
!
! /*
! * 47. GLX_EXT_import_context
*/
! #ifndef GLX_EXT_import_context
! #define GLX_EXT_import_context 1
!
! #define GLX_SHARE_CONTEXT_EXT 0x800A
! #define GLX_VISUAL_ID_EXT 0x800B
! #define GLX_SCREEN_EXT 0x800C
!
! extern void glXFreeContextEXT(Display *dpy, GLXContext context);
!
! extern GLXContextID glXGetContextIDEXT(const GLXContext context);
!
! extern Display *glXGetCurrentDisplayEXT(void);
!
! extern GLXContext glXImportContextEXT(Display *dpy, GLXContextID contextID);
! extern int glXQueryContextInfoEXT(Display *dpy, GLXContext context,
! int attribute,int *value);
! #endif /* GLX_EXT_import_context */
! /*
! * 215. GLX_MESA_copy_sub_buffer
! */
! #ifndef GLX_MESA_copy_sub_buffer
! #define GLX_MESA_copy_sub_buffer 1
!
! extern void glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
! int x, int y, int width, int height );
! #endif
! /*
! * 216. GLX_MESA_pixmap_colormap
! */
! #ifndef GLX_MESA_pixmap_colormap
! #define GLX_MESA_pixmap_colormap 1
! extern GLXPixmap glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visual,
! Pixmap pixmap, Colormap cmap );
- #endif /* GLX_MESA_pixmap_colormap */
/*
! * 217. GLX_MESA_release_buffers
*/
! #ifndef GLX_MESA_release_buffers
! #define GLX_MESA_release_buffers 1
!
! extern Bool glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
! #endif /* GLX_MESA_release_buffers */
/*
! * 218. GLX_MESA_set_3dfx_mode
*/
! #ifndef GLX_MESA_set_3dfx_mode
! #define GLX_MESA_set_3dfx_mode 1
!
! #define GLX_3DFX_WINDOW_MODE_MESA 0x1
! #define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
! extern Bool glXSet3DfxModeMESA( int mode );
!
! #endif /* GLX_MESA_set_3dfx_mode */
/*
! * ARB 2. GLX_ARB_get_proc_address
*/
! #ifndef GLX_ARB_get_proc_address
! #define GLX_ARB_get_proc_address 1
! extern void (*glXGetProcAddressARB(const GLubyte *procName))();
! #endif /* GLX_ARB_get_proc_address */
- #endif /* GLX_GLXEXT_LEGACY */
-
-
- /**
- ** The following aren't in glxext.h yet.
- **/
-
/*
! * ???. GLX_NV_vertex_array_range
*/
! #ifndef GLX_NV_vertex_array_range
! #define GLX_NV_vertex_array_range
! extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
! extern void glXFreeMemoryNV(GLvoid *pointer);
! typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
! typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer);
! #endif /* GLX_NV_vertex_array_range */
/*
! * ???. GLX_MESA_agp_offset
! */
! #ifndef GLX_MESA_agp_offset
! #define GLX_MESA_agp_offset 1
!
! extern GLuint glXGetAGPOffsetMESA(const GLvoid *pointer);
! typedef GLuint (* PFNGLXGETAGPOFFSETMESAPROC) (const GLvoid *pointer);
!
! #endif /* GLX_MESA_agp_offset */
!
!
#ifdef __cplusplus
}
#endif
--- 316,477 ----
unsigned long mask );
extern void glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
unsigned long *mask );
! /* GLX 1.3 function pointer typedefs */
! typedef GLXFBConfig * (* PFNGLXGETFBCONFIGSPROC) (Display *dpy, int screen, int *nelements);
! typedef GLXFBConfig * (* PFNGLXCHOOSEFBCONFIGPROC) (Display *dpy, int screen, const int *attrib_list, int *nelements);
! typedef int (* PFNGLXGETFBCONFIGATTRIBPROC) (Display *dpy, GLXFBConfig config, int attribute, int *value);
! typedef XVisualInfo * (* PFNGLXGETVISUALFROMFBCONFIGPROC) (Display *dpy, GLXFBConfig config);
! typedef GLXWindow (* PFNGLXCREATEWINDOWPROC) (Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
! typedef void (* PFNGLXDESTROYWINDOWPROC) (Display *dpy, GLXWindow win);
! typedef GLXPixmap (* PFNGLXCREATEPIXMAPPROC) (Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
! typedef void (* PFNGLXDESTROYPIXMAPPROC) (Display *dpy, GLXPixmap pixmap);
! typedef GLXPbuffer (* PFNGLXCREATEPBUFFERPROC) (Display *dpy, GLXFBConfig config, const int *attrib_list);
! typedef void (* PFNGLXDESTROYPBUFFERPROC) (Display *dpy, GLXPbuffer pbuf);
! typedef void (* PFNGLXQUERYDRAWABLEPROC) (Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
! typedef GLXContext (* PFNGLXCREATENEWCONTEXTPROC) (Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
! typedef Bool (* PFNGLXMAKECONTEXTCURRENTPROC) (Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
! typedef GLXDrawable (* PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
! typedef Display * (* PFNGLXGETCURRENTDISPLAYPROC) (void);
! typedef int (* PFNGLXQUERYCONTEXTPROC) (Display *dpy, GLXContext ctx, int attribute, int *value);
! typedef void (* PFNGLXSELECTEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long event_mask);
! typedef void (* PFNGLXGETSELECTEDEVENTPROC) (Display *dpy, GLXDrawable draw, unsigned long *event_mask);
/*
! * ARB 2. GLX_ARB_get_proc_address
*/
! #ifndef GLX_ARB_get_proc_address
! #define GLX_ARB_get_proc_address 1
! typedef void (*__GLXextFuncPtr)(void);
! extern __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *);
! #endif /* GLX_ARB_get_proc_address */
! /* GLX 1.4 and later */
! extern void (*glXGetProcAddress(const GLubyte *procname))( void );
! /* GLX 1.4 function pointer typedefs */
! typedef __GLXextFuncPtr (* PFNGLXGETPROCADDRESSPROC) (const GLubyte *procName);
+ #ifndef GLX_GLXEXT_LEGACY
! /* JDK modification of include path to be sure to pick up the correct file */
! #include "J2D_GL/glxext.h"
! #endif /* GLX_GLXEXT_LEGACY */
+ /**
+ ** The following aren't in glxext.h yet.
+ **/
/*
! * ???. GLX_NV_vertex_array_range
*/
! #ifndef GLX_NV_vertex_array_range
! #define GLX_NV_vertex_array_range
! extern void *glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
! extern void glXFreeMemoryNV(GLvoid *pointer);
! typedef void * ( * PFNGLXALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
! typedef void ( * PFNGLXFREEMEMORYNVPROC) (GLvoid *pointer);
+ #endif /* GLX_NV_vertex_array_range */
/*
! * ARB ?. GLX_ARB_render_texture
! * XXX This was never finalized!
*/
! #ifndef GLX_ARB_render_texture
! #define GLX_ARB_render_texture 1
! extern Bool glXBindTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
! extern Bool glXReleaseTexImageARB(Display *dpy, GLXPbuffer pbuffer, int buffer);
! extern Bool glXDrawableAttribARB(Display *dpy, GLXDrawable draw, const int *attribList);
+ #endif /* GLX_ARB_render_texture */
/*
! * #?. GLX_MESA_swap_frame_usage
*/
! #ifndef GLX_MESA_swap_frame_usage
! #define GLX_MESA_swap_frame_usage 1
! extern int glXGetFrameUsageMESA(Display *dpy, GLXDrawable drawable, float *usage);
! extern int glXBeginFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
! extern int glXEndFrameTrackingMESA(Display *dpy, GLXDrawable drawable);
! extern int glXQueryFrameTrackingMESA(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
! typedef int (*PFNGLXGETFRAMEUSAGEMESAPROC) (Display *dpy, GLXDrawable drawable, float *usage);
! typedef int (*PFNGLXBEGINFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
! typedef int (*PFNGLXENDFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable);
! typedef int (*PFNGLXQUERYFRAMETRACKINGMESAPROC)(Display *dpy, GLXDrawable drawable, int64_t *swapCount, int64_t *missedFrames, float *lastMissedUsage);
+ #endif /* GLX_MESA_swap_frame_usage */
/*
! * #?. GLX_MESA_swap_control
*/
! #ifndef GLX_MESA_swap_control
! #define GLX_MESA_swap_control 1
! extern int glXSwapIntervalMESA(unsigned int interval);
! extern int glXGetSwapIntervalMESA(void);
! typedef int (*PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);
! typedef int (*PFNGLXGETSWAPINTERVALMESAPROC)(void);
+ #endif /* GLX_MESA_swap_control */
+ /*** Should these go here, or in another header? */
/*
! ** GLX Events
! */
! typedef struct {
! int event_type; /* GLX_DAMAGED or GLX_SAVED */
! int draw_type; /* GLX_WINDOW or GLX_PBUFFER */
! unsigned long serial; /* # of last request processed by server */
! Bool send_event; /* true if this came for SendEvent request */
! Display *display; /* display the event was read from */
! GLXDrawable drawable; /* XID of Drawable */
! unsigned int buffer_mask; /* mask indicating which buffers are affected */
! unsigned int aux_buffer; /* which aux buffer was affected */
! int x, y;
! int width, height;
! int count; /* if nonzero, at least this many more */
! } GLXPbufferClobberEvent;
!
! typedef struct {
! int type;
! unsigned long serial; /* # of last request processed by server */
! Bool send_event; /* true if this came from a SendEvent request */
! Display *display; /* Display the event was read from */
! Drawable drawable; /* drawable on which event was requested in event mask */
! int event_type;
! int64_t ust;
! int64_t msc;
! int64_t sbc;
! } GLXBufferSwapComplete;
!
! typedef union __GLXEvent {
! GLXPbufferClobberEvent glxpbufferclobber;
! GLXBufferSwapComplete glxbufferswapcomplete;
! long pad[24];
! } GLXEvent;
#ifdef __cplusplus
}
#endif
< prev index next >