home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2001 January / LCD_01_2001.iso / develop / tinylib041 / tiny / atari / gl / glx.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-12-15  |  3.2 KB  |  144 lines

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