Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
4.7 KiB

  1. /******************************Module*Header*******************************\
  2. * Module Name: exttable.h
  3. *
  4. * Dispatch table for extension functions
  5. *
  6. * Created: 11/27/95
  7. * Author: Drew Bliss [drewb]
  8. *
  9. * Copyright (c) 1995-96 Microsoft Corporation
  10. \**************************************************************************/
  11. #ifndef __EXTTABLE_H__
  12. #define __EXTTABLE_H__
  13. typedef struct _GLEXTDISPATCHTABLE
  14. {
  15. void (APIENTRY *glDrawRangeElementsWIN)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
  16. void (APIENTRY *glColorTableEXT) ( GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *data);
  17. void (APIENTRY *glColorSubTableEXT) ( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
  18. void (APIENTRY *glGetColorTableEXT) ( GLenum target, GLenum format, GLenum type, GLvoid *data);
  19. void (APIENTRY *glGetColorTableParameterivEXT) ( GLenum target, GLenum pname, GLint *params);
  20. void (APIENTRY *glGetColorTableParameterfvEXT) ( GLenum target, GLenum pname, GLfloat *params);
  21. #ifdef GL_WIN_multiple_textures
  22. void (APIENTRY *glCurrentTextureIndexWIN)
  23. (GLuint index);
  24. void (APIENTRY *glMultiTexCoord1dWIN)
  25. (GLbitfield mask, GLdouble s);
  26. void (APIENTRY *glMultiTexCoord1dvWIN)
  27. (GLbitfield mask, const GLdouble *v);
  28. void (APIENTRY *glMultiTexCoord1fWIN)
  29. (GLbitfield mask, GLfloat s);
  30. void (APIENTRY *glMultiTexCoord1fvWIN)
  31. (GLbitfield mask, const GLfloat *v);
  32. void (APIENTRY *glMultiTexCoord1iWIN)
  33. (GLbitfield mask, GLint s);
  34. void (APIENTRY *glMultiTexCoord1ivWIN)
  35. (GLbitfield mask, const GLint *v);
  36. void (APIENTRY *glMultiTexCoord1sWIN)
  37. (GLbitfield mask, GLshort s);
  38. void (APIENTRY *glMultiTexCoord1svWIN)
  39. (GLbitfield mask, const GLshort *v);
  40. void (APIENTRY *glMultiTexCoord2dWIN)
  41. (GLbitfield mask, GLdouble s, GLdouble t);
  42. void (APIENTRY *glMultiTexCoord2dvWIN)
  43. (GLbitfield mask, const GLdouble *v);
  44. void (APIENTRY *glMultiTexCoord2fWIN)
  45. (GLbitfield mask, GLfloat s, GLfloat t);
  46. void (APIENTRY *glMultiTexCoord2fvWIN)
  47. (GLbitfield mask, const GLfloat *v);
  48. void (APIENTRY *glMultiTexCoord2iWIN)
  49. (GLbitfield mask, GLint s, GLint t);
  50. void (APIENTRY *glMultiTexCoord2ivWIN)
  51. (GLbitfield mask, const GLint *v);
  52. void (APIENTRY *glMultiTexCoord2sWIN)
  53. (GLbitfield mask, GLshort s, GLshort t);
  54. void (APIENTRY *glMultiTexCoord2svWIN)
  55. (GLbitfield mask, const GLshort *v);
  56. void (APIENTRY *glMultiTexCoord3dWIN)
  57. (GLbitfield mask, GLdouble s, GLdouble t, GLdouble r);
  58. void (APIENTRY *glMultiTexCoord3dvWIN)
  59. (GLbitfield mask, const GLdouble *v);
  60. void (APIENTRY *glMultiTexCoord3fWIN)
  61. (GLbitfield mask, GLfloat s, GLfloat t, GLfloat r);
  62. void (APIENTRY *glMultiTexCoord3fvWIN)
  63. (GLbitfield mask, const GLfloat *v);
  64. void (APIENTRY *glMultiTexCoord3iWIN)
  65. (GLbitfield mask, GLint s, GLint t, GLint r);
  66. void (APIENTRY *glMultiTexCoord3ivWIN)
  67. (GLbitfield mask, const GLint *v);
  68. void (APIENTRY *glMultiTexCoord3sWIN)
  69. (GLbitfield mask, GLshort s, GLshort t, GLshort r);
  70. void (APIENTRY *glMultiTexCoord3svWIN)
  71. (GLbitfield mask, const GLshort *v);
  72. void (APIENTRY *glMultiTexCoord4dWIN)
  73. (GLbitfield mask, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
  74. void (APIENTRY *glMultiTexCoord4dvWIN)
  75. (GLbitfield mask, const GLdouble *v);
  76. void (APIENTRY *glMultiTexCoord4fWIN)
  77. (GLbitfield mask, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
  78. void (APIENTRY *glMultiTexCoord4fvWIN)
  79. (GLbitfield mask, const GLfloat *v);
  80. void (APIENTRY *glMultiTexCoord4iWIN)
  81. (GLbitfield mask, GLint s, GLint t, GLint r, GLint q);
  82. void (APIENTRY *glMultiTexCoord4ivWIN)
  83. (GLbitfield mask, const GLint *v);
  84. void (APIENTRY *glMultiTexCoord4sWIN)
  85. (GLbitfield mask, GLshort s, GLshort t, GLshort r, GLshort q);
  86. void (APIENTRY *glMultiTexCoord4svWIN)
  87. (GLbitfield mask, const GLshort *v);
  88. void (APIENTRY *glBindNthTextureWIN)
  89. (GLuint index, GLenum target, GLuint texture);
  90. void (APIENTRY *glNthTexCombineFuncWIN)
  91. (GLuint index,
  92. GLenum leftColorFactor, GLenum colorOp, GLenum rightColorFactor,
  93. GLenum leftAlphaFactor, GLenum alphaOp, GLenum rightAlphaFactor);
  94. #endif // GL_WIN_multiple_textures
  95. } GLEXTDISPATCHTABLE, *PGLEXTDISPATCHTABLE;
  96. typedef struct _GLEXTPROCTABLE
  97. {
  98. int cEntries; // Number of function entries in table
  99. GLEXTDISPATCHTABLE glDispatchTable; // OpenGL function dispatch table
  100. } GLEXTPROCTABLE, *PGLEXTPROCTABLE;
  101. #endif // __EXTTABLE_H__