1 /* GdkGLExt - OpenGL Extension to GDK 2 * Copyright (C) 2002-2004 Naofumi Yasufuku 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 */ 18 19 /* 20 * This is a generated file. Please modify "gen-gdkglwglext-h.pl". 21 */ 22 23 #ifndef __GDK_GL_WGLEXT_H__ 24 #define __GDK_GL_WGLEXT_H__ 25 26 #include <glib.h> 27 28 #ifdef G_OS_WIN32 29 #define WIN32_LEAN_AND_MEAN 1 30 #include <windows.h> 31 #endif 32 33 #include <GL/gl.h> 34 35 #include <gdk/gdkgldefs.h> 36 #include <gdk/gdkglquery.h> 37 #include <gdk/gdkglconfig.h> 38 39 #undef __wglext_h_ 40 #undef WGL_WGLEXT_VERSION 41 #include <gdk/glext/wglext.h> 42 #include <gdk/glext/wglext-extra.h> 43 44 G_BEGIN_DECLS 45 46 /* 47 * WGL_ARB_buffer_region 48 */ 49 50 /* wglCreateBufferRegionARB */ 51 typedef HANDLE (WINAPI * GdkGLProc_wglCreateBufferRegionARB) (HDC hDC, int iLayerPlane, UINT uType); 52 GdkGLProc gdk_gl_get_wglCreateBufferRegionARB (void); 53 #define gdk_gl_wglCreateBufferRegionARB(proc, hDC, iLayerPlane, uType) \ 54 ( ((GdkGLProc_wglCreateBufferRegionARB) (proc)) (hDC, iLayerPlane, uType) ) 55 56 /* wglDeleteBufferRegionARB */ 57 typedef VOID (WINAPI * GdkGLProc_wglDeleteBufferRegionARB) (HANDLE hRegion); 58 GdkGLProc gdk_gl_get_wglDeleteBufferRegionARB (void); 59 #define gdk_gl_wglDeleteBufferRegionARB(proc, hRegion) \ 60 ( ((GdkGLProc_wglDeleteBufferRegionARB) (proc)) (hRegion) ) 61 62 /* wglSaveBufferRegionARB */ 63 typedef BOOL (WINAPI * GdkGLProc_wglSaveBufferRegionARB) (HANDLE hRegion, int x, int y, int width, int height); 64 GdkGLProc gdk_gl_get_wglSaveBufferRegionARB (void); 65 #define gdk_gl_wglSaveBufferRegionARB(proc, hRegion, x, y, width, height) \ 66 ( ((GdkGLProc_wglSaveBufferRegionARB) (proc)) (hRegion, x, y, width, height) ) 67 68 /* wglRestoreBufferRegionARB */ 69 typedef BOOL (WINAPI * GdkGLProc_wglRestoreBufferRegionARB) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); 70 GdkGLProc gdk_gl_get_wglRestoreBufferRegionARB (void); 71 #define gdk_gl_wglRestoreBufferRegionARB(proc, hRegion, x, y, width, height, xSrc, ySrc) \ 72 ( ((GdkGLProc_wglRestoreBufferRegionARB) (proc)) (hRegion, x, y, width, height, xSrc, ySrc) ) 73 74 /* proc struct */ 75 76 typedef struct _GdkGL_WGL_ARB_buffer_region GdkGL_WGL_ARB_buffer_region; 77 78 struct _GdkGL_WGL_ARB_buffer_region 79 { 80 GdkGLProc_wglCreateBufferRegionARB wglCreateBufferRegionARB; 81 GdkGLProc_wglDeleteBufferRegionARB wglDeleteBufferRegionARB; 82 GdkGLProc_wglSaveBufferRegionARB wglSaveBufferRegionARB; 83 GdkGLProc_wglRestoreBufferRegionARB wglRestoreBufferRegionARB; 84 }; 85 86 GdkGL_WGL_ARB_buffer_region *gdk_gl_get_WGL_ARB_buffer_region (GdkGLConfig *glconfig); 87 88 /* 89 * WGL_ARB_extensions_string 90 */ 91 92 /* wglGetExtensionsStringARB */ 93 typedef const char * (WINAPI * GdkGLProc_wglGetExtensionsStringARB) (HDC hdc); 94 GdkGLProc gdk_gl_get_wglGetExtensionsStringARB (void); 95 #define gdk_gl_wglGetExtensionsStringARB(proc, hdc) \ 96 ( ((GdkGLProc_wglGetExtensionsStringARB) (proc)) (hdc) ) 97 98 /* proc struct */ 99 100 typedef struct _GdkGL_WGL_ARB_extensions_string GdkGL_WGL_ARB_extensions_string; 101 102 struct _GdkGL_WGL_ARB_extensions_string 103 { 104 GdkGLProc_wglGetExtensionsStringARB wglGetExtensionsStringARB; 105 }; 106 107 GdkGL_WGL_ARB_extensions_string *gdk_gl_get_WGL_ARB_extensions_string (GdkGLConfig *glconfig); 108 109 /* 110 * WGL_ARB_pixel_format 111 */ 112 113 /* wglGetPixelFormatAttribivARB */ 114 typedef BOOL (WINAPI * GdkGLProc_wglGetPixelFormatAttribivARB) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues); 115 GdkGLProc gdk_gl_get_wglGetPixelFormatAttribivARB (void); 116 #define gdk_gl_wglGetPixelFormatAttribivARB(proc, hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) \ 117 ( ((GdkGLProc_wglGetPixelFormatAttribivARB) (proc)) (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) ) 118 119 /* wglGetPixelFormatAttribfvARB */ 120 typedef BOOL (WINAPI * GdkGLProc_wglGetPixelFormatAttribfvARB) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues); 121 GdkGLProc gdk_gl_get_wglGetPixelFormatAttribfvARB (void); 122 #define gdk_gl_wglGetPixelFormatAttribfvARB(proc, hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) \ 123 ( ((GdkGLProc_wglGetPixelFormatAttribfvARB) (proc)) (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) ) 124 125 /* wglChoosePixelFormatARB */ 126 typedef BOOL (WINAPI * GdkGLProc_wglChoosePixelFormatARB) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 127 GdkGLProc gdk_gl_get_wglChoosePixelFormatARB (void); 128 #define gdk_gl_wglChoosePixelFormatARB(proc, hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) \ 129 ( ((GdkGLProc_wglChoosePixelFormatARB) (proc)) (hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) ) 130 131 /* proc struct */ 132 133 typedef struct _GdkGL_WGL_ARB_pixel_format GdkGL_WGL_ARB_pixel_format; 134 135 struct _GdkGL_WGL_ARB_pixel_format 136 { 137 GdkGLProc_wglGetPixelFormatAttribivARB wglGetPixelFormatAttribivARB; 138 GdkGLProc_wglGetPixelFormatAttribfvARB wglGetPixelFormatAttribfvARB; 139 GdkGLProc_wglChoosePixelFormatARB wglChoosePixelFormatARB; 140 }; 141 142 GdkGL_WGL_ARB_pixel_format *gdk_gl_get_WGL_ARB_pixel_format (GdkGLConfig *glconfig); 143 144 /* 145 * WGL_ARB_make_current_read 146 */ 147 148 /* wglMakeContextCurrentARB */ 149 typedef BOOL (WINAPI * GdkGLProc_wglMakeContextCurrentARB) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 150 GdkGLProc gdk_gl_get_wglMakeContextCurrentARB (void); 151 #define gdk_gl_wglMakeContextCurrentARB(proc, hDrawDC, hReadDC, hglrc) \ 152 ( ((GdkGLProc_wglMakeContextCurrentARB) (proc)) (hDrawDC, hReadDC, hglrc) ) 153 154 /* wglGetCurrentReadDCARB */ 155 typedef HDC (WINAPI * GdkGLProc_wglGetCurrentReadDCARB) (void); 156 GdkGLProc gdk_gl_get_wglGetCurrentReadDCARB (void); 157 #define gdk_gl_wglGetCurrentReadDCARB(proc) \ 158 ( ((GdkGLProc_wglGetCurrentReadDCARB) (proc)) () ) 159 160 /* proc struct */ 161 162 typedef struct _GdkGL_WGL_ARB_make_current_read GdkGL_WGL_ARB_make_current_read; 163 164 struct _GdkGL_WGL_ARB_make_current_read 165 { 166 GdkGLProc_wglMakeContextCurrentARB wglMakeContextCurrentARB; 167 GdkGLProc_wglGetCurrentReadDCARB wglGetCurrentReadDCARB; 168 }; 169 170 GdkGL_WGL_ARB_make_current_read *gdk_gl_get_WGL_ARB_make_current_read (GdkGLConfig *glconfig); 171 172 /* 173 * WGL_ARB_pbuffer 174 */ 175 176 /* wglCreatePbufferARB */ 177 typedef HPBUFFERARB (WINAPI * GdkGLProc_wglCreatePbufferARB) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 178 GdkGLProc gdk_gl_get_wglCreatePbufferARB (void); 179 #define gdk_gl_wglCreatePbufferARB(proc, hDC, iPixelFormat, iWidth, iHeight, piAttribList) \ 180 ( ((GdkGLProc_wglCreatePbufferARB) (proc)) (hDC, iPixelFormat, iWidth, iHeight, piAttribList) ) 181 182 /* wglGetPbufferDCARB */ 183 typedef HDC (WINAPI * GdkGLProc_wglGetPbufferDCARB) (HPBUFFERARB hPbuffer); 184 GdkGLProc gdk_gl_get_wglGetPbufferDCARB (void); 185 #define gdk_gl_wglGetPbufferDCARB(proc, hPbuffer) \ 186 ( ((GdkGLProc_wglGetPbufferDCARB) (proc)) (hPbuffer) ) 187 188 /* wglReleasePbufferDCARB */ 189 typedef int (WINAPI * GdkGLProc_wglReleasePbufferDCARB) (HPBUFFERARB hPbuffer, HDC hDC); 190 GdkGLProc gdk_gl_get_wglReleasePbufferDCARB (void); 191 #define gdk_gl_wglReleasePbufferDCARB(proc, hPbuffer, hDC) \ 192 ( ((GdkGLProc_wglReleasePbufferDCARB) (proc)) (hPbuffer, hDC) ) 193 194 /* wglDestroyPbufferARB */ 195 typedef BOOL (WINAPI * GdkGLProc_wglDestroyPbufferARB) (HPBUFFERARB hPbuffer); 196 GdkGLProc gdk_gl_get_wglDestroyPbufferARB (void); 197 #define gdk_gl_wglDestroyPbufferARB(proc, hPbuffer) \ 198 ( ((GdkGLProc_wglDestroyPbufferARB) (proc)) (hPbuffer) ) 199 200 /* wglQueryPbufferARB */ 201 typedef BOOL (WINAPI * GdkGLProc_wglQueryPbufferARB) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue); 202 GdkGLProc gdk_gl_get_wglQueryPbufferARB (void); 203 #define gdk_gl_wglQueryPbufferARB(proc, hPbuffer, iAttribute, piValue) \ 204 ( ((GdkGLProc_wglQueryPbufferARB) (proc)) (hPbuffer, iAttribute, piValue) ) 205 206 /* proc struct */ 207 208 typedef struct _GdkGL_WGL_ARB_pbuffer GdkGL_WGL_ARB_pbuffer; 209 210 struct _GdkGL_WGL_ARB_pbuffer 211 { 212 GdkGLProc_wglCreatePbufferARB wglCreatePbufferARB; 213 GdkGLProc_wglGetPbufferDCARB wglGetPbufferDCARB; 214 GdkGLProc_wglReleasePbufferDCARB wglReleasePbufferDCARB; 215 GdkGLProc_wglDestroyPbufferARB wglDestroyPbufferARB; 216 GdkGLProc_wglQueryPbufferARB wglQueryPbufferARB; 217 }; 218 219 GdkGL_WGL_ARB_pbuffer *gdk_gl_get_WGL_ARB_pbuffer (GdkGLConfig *glconfig); 220 221 /* 222 * WGL_ARB_render_texture 223 */ 224 225 /* wglBindTexImageARB */ 226 typedef BOOL (WINAPI * GdkGLProc_wglBindTexImageARB) (HPBUFFERARB hPbuffer, int iBuffer); 227 GdkGLProc gdk_gl_get_wglBindTexImageARB (void); 228 #define gdk_gl_wglBindTexImageARB(proc, hPbuffer, iBuffer) \ 229 ( ((GdkGLProc_wglBindTexImageARB) (proc)) (hPbuffer, iBuffer) ) 230 231 /* wglReleaseTexImageARB */ 232 typedef BOOL (WINAPI * GdkGLProc_wglReleaseTexImageARB) (HPBUFFERARB hPbuffer, int iBuffer); 233 GdkGLProc gdk_gl_get_wglReleaseTexImageARB (void); 234 #define gdk_gl_wglReleaseTexImageARB(proc, hPbuffer, iBuffer) \ 235 ( ((GdkGLProc_wglReleaseTexImageARB) (proc)) (hPbuffer, iBuffer) ) 236 237 /* wglSetPbufferAttribARB */ 238 typedef BOOL (WINAPI * GdkGLProc_wglSetPbufferAttribARB) (HPBUFFERARB hPbuffer, const int *piAttribList); 239 GdkGLProc gdk_gl_get_wglSetPbufferAttribARB (void); 240 #define gdk_gl_wglSetPbufferAttribARB(proc, hPbuffer, piAttribList) \ 241 ( ((GdkGLProc_wglSetPbufferAttribARB) (proc)) (hPbuffer, piAttribList) ) 242 243 /* proc struct */ 244 245 typedef struct _GdkGL_WGL_ARB_render_texture GdkGL_WGL_ARB_render_texture; 246 247 struct _GdkGL_WGL_ARB_render_texture 248 { 249 GdkGLProc_wglBindTexImageARB wglBindTexImageARB; 250 GdkGLProc_wglReleaseTexImageARB wglReleaseTexImageARB; 251 GdkGLProc_wglSetPbufferAttribARB wglSetPbufferAttribARB; 252 }; 253 254 GdkGL_WGL_ARB_render_texture *gdk_gl_get_WGL_ARB_render_texture (GdkGLConfig *glconfig); 255 256 /* 257 * WGL_EXT_display_color_table 258 */ 259 260 /* wglCreateDisplayColorTableEXT */ 261 typedef GLboolean (WINAPI * GdkGLProc_wglCreateDisplayColorTableEXT) (GLushort id); 262 GdkGLProc gdk_gl_get_wglCreateDisplayColorTableEXT (void); 263 #define gdk_gl_wglCreateDisplayColorTableEXT(proc, id) \ 264 ( ((GdkGLProc_wglCreateDisplayColorTableEXT) (proc)) (id) ) 265 266 /* wglLoadDisplayColorTableEXT */ 267 typedef GLboolean (WINAPI * GdkGLProc_wglLoadDisplayColorTableEXT) (const GLushort *table, GLuint length); 268 GdkGLProc gdk_gl_get_wglLoadDisplayColorTableEXT (void); 269 #define gdk_gl_wglLoadDisplayColorTableEXT(proc, table, length) \ 270 ( ((GdkGLProc_wglLoadDisplayColorTableEXT) (proc)) (table, length) ) 271 272 /* wglBindDisplayColorTableEXT */ 273 typedef GLboolean (WINAPI * GdkGLProc_wglBindDisplayColorTableEXT) (GLushort id); 274 GdkGLProc gdk_gl_get_wglBindDisplayColorTableEXT (void); 275 #define gdk_gl_wglBindDisplayColorTableEXT(proc, id) \ 276 ( ((GdkGLProc_wglBindDisplayColorTableEXT) (proc)) (id) ) 277 278 /* wglDestroyDisplayColorTableEXT */ 279 typedef VOID (WINAPI * GdkGLProc_wglDestroyDisplayColorTableEXT) (GLushort id); 280 GdkGLProc gdk_gl_get_wglDestroyDisplayColorTableEXT (void); 281 #define gdk_gl_wglDestroyDisplayColorTableEXT(proc, id) \ 282 ( ((GdkGLProc_wglDestroyDisplayColorTableEXT) (proc)) (id) ) 283 284 /* proc struct */ 285 286 typedef struct _GdkGL_WGL_EXT_display_color_table GdkGL_WGL_EXT_display_color_table; 287 288 struct _GdkGL_WGL_EXT_display_color_table 289 { 290 GdkGLProc_wglCreateDisplayColorTableEXT wglCreateDisplayColorTableEXT; 291 GdkGLProc_wglLoadDisplayColorTableEXT wglLoadDisplayColorTableEXT; 292 GdkGLProc_wglBindDisplayColorTableEXT wglBindDisplayColorTableEXT; 293 GdkGLProc_wglDestroyDisplayColorTableEXT wglDestroyDisplayColorTableEXT; 294 }; 295 296 GdkGL_WGL_EXT_display_color_table *gdk_gl_get_WGL_EXT_display_color_table (GdkGLConfig *glconfig); 297 298 /* 299 * WGL_EXT_extensions_string 300 */ 301 302 /* wglGetExtensionsStringEXT */ 303 typedef const char * (WINAPI * GdkGLProc_wglGetExtensionsStringEXT) (void); 304 GdkGLProc gdk_gl_get_wglGetExtensionsStringEXT (void); 305 #define gdk_gl_wglGetExtensionsStringEXT(proc) \ 306 ( ((GdkGLProc_wglGetExtensionsStringEXT) (proc)) () ) 307 308 /* proc struct */ 309 310 typedef struct _GdkGL_WGL_EXT_extensions_string GdkGL_WGL_EXT_extensions_string; 311 312 struct _GdkGL_WGL_EXT_extensions_string 313 { 314 GdkGLProc_wglGetExtensionsStringEXT wglGetExtensionsStringEXT; 315 }; 316 317 GdkGL_WGL_EXT_extensions_string *gdk_gl_get_WGL_EXT_extensions_string (GdkGLConfig *glconfig); 318 319 /* 320 * WGL_EXT_make_current_read 321 */ 322 323 /* wglMakeContextCurrentEXT */ 324 typedef BOOL (WINAPI * GdkGLProc_wglMakeContextCurrentEXT) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 325 GdkGLProc gdk_gl_get_wglMakeContextCurrentEXT (void); 326 #define gdk_gl_wglMakeContextCurrentEXT(proc, hDrawDC, hReadDC, hglrc) \ 327 ( ((GdkGLProc_wglMakeContextCurrentEXT) (proc)) (hDrawDC, hReadDC, hglrc) ) 328 329 /* wglGetCurrentReadDCEXT */ 330 typedef HDC (WINAPI * GdkGLProc_wglGetCurrentReadDCEXT) (void); 331 GdkGLProc gdk_gl_get_wglGetCurrentReadDCEXT (void); 332 #define gdk_gl_wglGetCurrentReadDCEXT(proc) \ 333 ( ((GdkGLProc_wglGetCurrentReadDCEXT) (proc)) () ) 334 335 /* proc struct */ 336 337 typedef struct _GdkGL_WGL_EXT_make_current_read GdkGL_WGL_EXT_make_current_read; 338 339 struct _GdkGL_WGL_EXT_make_current_read 340 { 341 GdkGLProc_wglMakeContextCurrentEXT wglMakeContextCurrentEXT; 342 GdkGLProc_wglGetCurrentReadDCEXT wglGetCurrentReadDCEXT; 343 }; 344 345 GdkGL_WGL_EXT_make_current_read *gdk_gl_get_WGL_EXT_make_current_read (GdkGLConfig *glconfig); 346 347 /* 348 * WGL_EXT_pbuffer 349 */ 350 351 /* wglCreatePbufferEXT */ 352 typedef HPBUFFEREXT (WINAPI * GdkGLProc_wglCreatePbufferEXT) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 353 GdkGLProc gdk_gl_get_wglCreatePbufferEXT (void); 354 #define gdk_gl_wglCreatePbufferEXT(proc, hDC, iPixelFormat, iWidth, iHeight, piAttribList) \ 355 ( ((GdkGLProc_wglCreatePbufferEXT) (proc)) (hDC, iPixelFormat, iWidth, iHeight, piAttribList) ) 356 357 /* wglGetPbufferDCEXT */ 358 typedef HDC (WINAPI * GdkGLProc_wglGetPbufferDCEXT) (HPBUFFEREXT hPbuffer); 359 GdkGLProc gdk_gl_get_wglGetPbufferDCEXT (void); 360 #define gdk_gl_wglGetPbufferDCEXT(proc, hPbuffer) \ 361 ( ((GdkGLProc_wglGetPbufferDCEXT) (proc)) (hPbuffer) ) 362 363 /* wglReleasePbufferDCEXT */ 364 typedef int (WINAPI * GdkGLProc_wglReleasePbufferDCEXT) (HPBUFFEREXT hPbuffer, HDC hDC); 365 GdkGLProc gdk_gl_get_wglReleasePbufferDCEXT (void); 366 #define gdk_gl_wglReleasePbufferDCEXT(proc, hPbuffer, hDC) \ 367 ( ((GdkGLProc_wglReleasePbufferDCEXT) (proc)) (hPbuffer, hDC) ) 368 369 /* wglDestroyPbufferEXT */ 370 typedef BOOL (WINAPI * GdkGLProc_wglDestroyPbufferEXT) (HPBUFFEREXT hPbuffer); 371 GdkGLProc gdk_gl_get_wglDestroyPbufferEXT (void); 372 #define gdk_gl_wglDestroyPbufferEXT(proc, hPbuffer) \ 373 ( ((GdkGLProc_wglDestroyPbufferEXT) (proc)) (hPbuffer) ) 374 375 /* wglQueryPbufferEXT */ 376 typedef BOOL (WINAPI * GdkGLProc_wglQueryPbufferEXT) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue); 377 GdkGLProc gdk_gl_get_wglQueryPbufferEXT (void); 378 #define gdk_gl_wglQueryPbufferEXT(proc, hPbuffer, iAttribute, piValue) \ 379 ( ((GdkGLProc_wglQueryPbufferEXT) (proc)) (hPbuffer, iAttribute, piValue) ) 380 381 /* proc struct */ 382 383 typedef struct _GdkGL_WGL_EXT_pbuffer GdkGL_WGL_EXT_pbuffer; 384 385 struct _GdkGL_WGL_EXT_pbuffer 386 { 387 GdkGLProc_wglCreatePbufferEXT wglCreatePbufferEXT; 388 GdkGLProc_wglGetPbufferDCEXT wglGetPbufferDCEXT; 389 GdkGLProc_wglReleasePbufferDCEXT wglReleasePbufferDCEXT; 390 GdkGLProc_wglDestroyPbufferEXT wglDestroyPbufferEXT; 391 GdkGLProc_wglQueryPbufferEXT wglQueryPbufferEXT; 392 }; 393 394 GdkGL_WGL_EXT_pbuffer *gdk_gl_get_WGL_EXT_pbuffer (GdkGLConfig *glconfig); 395 396 /* 397 * WGL_EXT_pixel_format 398 */ 399 400 /* wglGetPixelFormatAttribivEXT */ 401 typedef BOOL (WINAPI * GdkGLProc_wglGetPixelFormatAttribivEXT) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues); 402 GdkGLProc gdk_gl_get_wglGetPixelFormatAttribivEXT (void); 403 #define gdk_gl_wglGetPixelFormatAttribivEXT(proc, hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) \ 404 ( ((GdkGLProc_wglGetPixelFormatAttribivEXT) (proc)) (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) ) 405 406 /* wglGetPixelFormatAttribfvEXT */ 407 typedef BOOL (WINAPI * GdkGLProc_wglGetPixelFormatAttribfvEXT) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues); 408 GdkGLProc gdk_gl_get_wglGetPixelFormatAttribfvEXT (void); 409 #define gdk_gl_wglGetPixelFormatAttribfvEXT(proc, hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) \ 410 ( ((GdkGLProc_wglGetPixelFormatAttribfvEXT) (proc)) (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) ) 411 412 /* wglChoosePixelFormatEXT */ 413 typedef BOOL (WINAPI * GdkGLProc_wglChoosePixelFormatEXT) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 414 GdkGLProc gdk_gl_get_wglChoosePixelFormatEXT (void); 415 #define gdk_gl_wglChoosePixelFormatEXT(proc, hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) \ 416 ( ((GdkGLProc_wglChoosePixelFormatEXT) (proc)) (hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) ) 417 418 /* proc struct */ 419 420 typedef struct _GdkGL_WGL_EXT_pixel_format GdkGL_WGL_EXT_pixel_format; 421 422 struct _GdkGL_WGL_EXT_pixel_format 423 { 424 GdkGLProc_wglGetPixelFormatAttribivEXT wglGetPixelFormatAttribivEXT; 425 GdkGLProc_wglGetPixelFormatAttribfvEXT wglGetPixelFormatAttribfvEXT; 426 GdkGLProc_wglChoosePixelFormatEXT wglChoosePixelFormatEXT; 427 }; 428 429 GdkGL_WGL_EXT_pixel_format *gdk_gl_get_WGL_EXT_pixel_format (GdkGLConfig *glconfig); 430 431 /* 432 * WGL_EXT_swap_control 433 */ 434 435 /* wglSwapIntervalEXT */ 436 typedef BOOL (WINAPI * GdkGLProc_wglSwapIntervalEXT) (int interval); 437 GdkGLProc gdk_gl_get_wglSwapIntervalEXT (void); 438 #define gdk_gl_wglSwapIntervalEXT(proc, interval) \ 439 ( ((GdkGLProc_wglSwapIntervalEXT) (proc)) (interval) ) 440 441 /* wglGetSwapIntervalEXT */ 442 typedef int (WINAPI * GdkGLProc_wglGetSwapIntervalEXT) (void); 443 GdkGLProc gdk_gl_get_wglGetSwapIntervalEXT (void); 444 #define gdk_gl_wglGetSwapIntervalEXT(proc) \ 445 ( ((GdkGLProc_wglGetSwapIntervalEXT) (proc)) () ) 446 447 /* proc struct */ 448 449 typedef struct _GdkGL_WGL_EXT_swap_control GdkGL_WGL_EXT_swap_control; 450 451 struct _GdkGL_WGL_EXT_swap_control 452 { 453 GdkGLProc_wglSwapIntervalEXT wglSwapIntervalEXT; 454 GdkGLProc_wglGetSwapIntervalEXT wglGetSwapIntervalEXT; 455 }; 456 457 GdkGL_WGL_EXT_swap_control *gdk_gl_get_WGL_EXT_swap_control (GdkGLConfig *glconfig); 458 459 /* 460 * WGL_NV_vertex_array_range 461 */ 462 463 /* wglAllocateMemoryNV */ 464 typedef void* (WINAPI * GdkGLProc_wglAllocateMemoryNV) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); 465 GdkGLProc gdk_gl_get_wglAllocateMemoryNV (void); 466 #define gdk_gl_wglAllocateMemoryNV(proc, size, readfreq, writefreq, priority) \ 467 ( ((GdkGLProc_wglAllocateMemoryNV) (proc)) (size, readfreq, writefreq, priority) ) 468 469 /* wglFreeMemoryNV */ 470 typedef void (WINAPI * GdkGLProc_wglFreeMemoryNV) (void *pointer); 471 GdkGLProc gdk_gl_get_wglFreeMemoryNV (void); 472 #define gdk_gl_wglFreeMemoryNV(proc, pointer) \ 473 ( ((GdkGLProc_wglFreeMemoryNV) (proc)) (pointer) ) 474 475 /* proc struct */ 476 477 typedef struct _GdkGL_WGL_NV_vertex_array_range GdkGL_WGL_NV_vertex_array_range; 478 479 struct _GdkGL_WGL_NV_vertex_array_range 480 { 481 GdkGLProc_wglAllocateMemoryNV wglAllocateMemoryNV; 482 GdkGLProc_wglFreeMemoryNV wglFreeMemoryNV; 483 }; 484 485 GdkGL_WGL_NV_vertex_array_range *gdk_gl_get_WGL_NV_vertex_array_range (GdkGLConfig *glconfig); 486 487 /* 488 * WGL_OML_sync_control 489 */ 490 491 /* wglGetSyncValuesOML */ 492 typedef BOOL (WINAPI * GdkGLProc_wglGetSyncValuesOML) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc); 493 GdkGLProc gdk_gl_get_wglGetSyncValuesOML (void); 494 #define gdk_gl_wglGetSyncValuesOML(proc, hdc, ust, msc, sbc) \ 495 ( ((GdkGLProc_wglGetSyncValuesOML) (proc)) (hdc, ust, msc, sbc) ) 496 497 /* wglGetMscRateOML */ 498 typedef BOOL (WINAPI * GdkGLProc_wglGetMscRateOML) (HDC hdc, INT32 *numerator, INT32 *denominator); 499 GdkGLProc gdk_gl_get_wglGetMscRateOML (void); 500 #define gdk_gl_wglGetMscRateOML(proc, hdc, numerator, denominator) \ 501 ( ((GdkGLProc_wglGetMscRateOML) (proc)) (hdc, numerator, denominator) ) 502 503 /* wglSwapBuffersMscOML */ 504 typedef INT64 (WINAPI * GdkGLProc_wglSwapBuffersMscOML) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); 505 GdkGLProc gdk_gl_get_wglSwapBuffersMscOML (void); 506 #define gdk_gl_wglSwapBuffersMscOML(proc, hdc, target_msc, divisor, remainder) \ 507 ( ((GdkGLProc_wglSwapBuffersMscOML) (proc)) (hdc, target_msc, divisor, remainder) ) 508 509 /* wglSwapLayerBuffersMscOML */ 510 typedef INT64 (WINAPI * GdkGLProc_wglSwapLayerBuffersMscOML) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); 511 GdkGLProc gdk_gl_get_wglSwapLayerBuffersMscOML (void); 512 #define gdk_gl_wglSwapLayerBuffersMscOML(proc, hdc, fuPlanes, target_msc, divisor, remainder) \ 513 ( ((GdkGLProc_wglSwapLayerBuffersMscOML) (proc)) (hdc, fuPlanes, target_msc, divisor, remainder) ) 514 515 /* wglWaitForMscOML */ 516 typedef BOOL (WINAPI * GdkGLProc_wglWaitForMscOML) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc); 517 GdkGLProc gdk_gl_get_wglWaitForMscOML (void); 518 #define gdk_gl_wglWaitForMscOML(proc, hdc, target_msc, divisor, remainder, ust, msc, sbc) \ 519 ( ((GdkGLProc_wglWaitForMscOML) (proc)) (hdc, target_msc, divisor, remainder, ust, msc, sbc) ) 520 521 /* wglWaitForSbcOML */ 522 typedef BOOL (WINAPI * GdkGLProc_wglWaitForSbcOML) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc); 523 GdkGLProc gdk_gl_get_wglWaitForSbcOML (void); 524 #define gdk_gl_wglWaitForSbcOML(proc, hdc, target_sbc, ust, msc, sbc) \ 525 ( ((GdkGLProc_wglWaitForSbcOML) (proc)) (hdc, target_sbc, ust, msc, sbc) ) 526 527 /* proc struct */ 528 529 typedef struct _GdkGL_WGL_OML_sync_control GdkGL_WGL_OML_sync_control; 530 531 struct _GdkGL_WGL_OML_sync_control 532 { 533 GdkGLProc_wglGetSyncValuesOML wglGetSyncValuesOML; 534 GdkGLProc_wglGetMscRateOML wglGetMscRateOML; 535 GdkGLProc_wglSwapBuffersMscOML wglSwapBuffersMscOML; 536 GdkGLProc_wglSwapLayerBuffersMscOML wglSwapLayerBuffersMscOML; 537 GdkGLProc_wglWaitForMscOML wglWaitForMscOML; 538 GdkGLProc_wglWaitForSbcOML wglWaitForSbcOML; 539 }; 540 541 GdkGL_WGL_OML_sync_control *gdk_gl_get_WGL_OML_sync_control (GdkGLConfig *glconfig); 542 543 /* 544 * WGL_I3D_digital_video_control 545 */ 546 547 /* wglGetDigitalVideoParametersI3D */ 548 typedef BOOL (WINAPI * GdkGLProc_wglGetDigitalVideoParametersI3D) (HDC hDC, int iAttribute, int *piValue); 549 GdkGLProc gdk_gl_get_wglGetDigitalVideoParametersI3D (void); 550 #define gdk_gl_wglGetDigitalVideoParametersI3D(proc, hDC, iAttribute, piValue) \ 551 ( ((GdkGLProc_wglGetDigitalVideoParametersI3D) (proc)) (hDC, iAttribute, piValue) ) 552 553 /* wglSetDigitalVideoParametersI3D */ 554 typedef BOOL (WINAPI * GdkGLProc_wglSetDigitalVideoParametersI3D) (HDC hDC, int iAttribute, const int *piValue); 555 GdkGLProc gdk_gl_get_wglSetDigitalVideoParametersI3D (void); 556 #define gdk_gl_wglSetDigitalVideoParametersI3D(proc, hDC, iAttribute, piValue) \ 557 ( ((GdkGLProc_wglSetDigitalVideoParametersI3D) (proc)) (hDC, iAttribute, piValue) ) 558 559 /* proc struct */ 560 561 typedef struct _GdkGL_WGL_I3D_digital_video_control GdkGL_WGL_I3D_digital_video_control; 562 563 struct _GdkGL_WGL_I3D_digital_video_control 564 { 565 GdkGLProc_wglGetDigitalVideoParametersI3D wglGetDigitalVideoParametersI3D; 566 GdkGLProc_wglSetDigitalVideoParametersI3D wglSetDigitalVideoParametersI3D; 567 }; 568 569 GdkGL_WGL_I3D_digital_video_control *gdk_gl_get_WGL_I3D_digital_video_control (GdkGLConfig *glconfig); 570 571 /* 572 * WGL_I3D_gamma 573 */ 574 575 /* wglGetGammaTableParametersI3D */ 576 typedef BOOL (WINAPI * GdkGLProc_wglGetGammaTableParametersI3D) (HDC hDC, int iAttribute, int *piValue); 577 GdkGLProc gdk_gl_get_wglGetGammaTableParametersI3D (void); 578 #define gdk_gl_wglGetGammaTableParametersI3D(proc, hDC, iAttribute, piValue) \ 579 ( ((GdkGLProc_wglGetGammaTableParametersI3D) (proc)) (hDC, iAttribute, piValue) ) 580 581 /* wglSetGammaTableParametersI3D */ 582 typedef BOOL (WINAPI * GdkGLProc_wglSetGammaTableParametersI3D) (HDC hDC, int iAttribute, const int *piValue); 583 GdkGLProc gdk_gl_get_wglSetGammaTableParametersI3D (void); 584 #define gdk_gl_wglSetGammaTableParametersI3D(proc, hDC, iAttribute, piValue) \ 585 ( ((GdkGLProc_wglSetGammaTableParametersI3D) (proc)) (hDC, iAttribute, piValue) ) 586 587 /* wglGetGammaTableI3D */ 588 typedef BOOL (WINAPI * GdkGLProc_wglGetGammaTableI3D) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue); 589 GdkGLProc gdk_gl_get_wglGetGammaTableI3D (void); 590 #define gdk_gl_wglGetGammaTableI3D(proc, hDC, iEntries, puRed, puGreen, puBlue) \ 591 ( ((GdkGLProc_wglGetGammaTableI3D) (proc)) (hDC, iEntries, puRed, puGreen, puBlue) ) 592 593 /* wglSetGammaTableI3D */ 594 typedef BOOL (WINAPI * GdkGLProc_wglSetGammaTableI3D) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue); 595 GdkGLProc gdk_gl_get_wglSetGammaTableI3D (void); 596 #define gdk_gl_wglSetGammaTableI3D(proc, hDC, iEntries, puRed, puGreen, puBlue) \ 597 ( ((GdkGLProc_wglSetGammaTableI3D) (proc)) (hDC, iEntries, puRed, puGreen, puBlue) ) 598 599 /* proc struct */ 600 601 typedef struct _GdkGL_WGL_I3D_gamma GdkGL_WGL_I3D_gamma; 602 603 struct _GdkGL_WGL_I3D_gamma 604 { 605 GdkGLProc_wglGetGammaTableParametersI3D wglGetGammaTableParametersI3D; 606 GdkGLProc_wglSetGammaTableParametersI3D wglSetGammaTableParametersI3D; 607 GdkGLProc_wglGetGammaTableI3D wglGetGammaTableI3D; 608 GdkGLProc_wglSetGammaTableI3D wglSetGammaTableI3D; 609 }; 610 611 GdkGL_WGL_I3D_gamma *gdk_gl_get_WGL_I3D_gamma (GdkGLConfig *glconfig); 612 613 /* 614 * WGL_I3D_genlock 615 */ 616 617 /* wglEnableGenlockI3D */ 618 typedef BOOL (WINAPI * GdkGLProc_wglEnableGenlockI3D) (HDC hDC); 619 GdkGLProc gdk_gl_get_wglEnableGenlockI3D (void); 620 #define gdk_gl_wglEnableGenlockI3D(proc, hDC) \ 621 ( ((GdkGLProc_wglEnableGenlockI3D) (proc)) (hDC) ) 622 623 /* wglDisableGenlockI3D */ 624 typedef BOOL (WINAPI * GdkGLProc_wglDisableGenlockI3D) (HDC hDC); 625 GdkGLProc gdk_gl_get_wglDisableGenlockI3D (void); 626 #define gdk_gl_wglDisableGenlockI3D(proc, hDC) \ 627 ( ((GdkGLProc_wglDisableGenlockI3D) (proc)) (hDC) ) 628 629 /* wglIsEnabledGenlockI3D */ 630 typedef BOOL (WINAPI * GdkGLProc_wglIsEnabledGenlockI3D) (HDC hDC, BOOL *pFlag); 631 GdkGLProc gdk_gl_get_wglIsEnabledGenlockI3D (void); 632 #define gdk_gl_wglIsEnabledGenlockI3D(proc, hDC, pFlag) \ 633 ( ((GdkGLProc_wglIsEnabledGenlockI3D) (proc)) (hDC, pFlag) ) 634 635 /* wglGenlockSourceI3D */ 636 typedef BOOL (WINAPI * GdkGLProc_wglGenlockSourceI3D) (HDC hDC, UINT uSource); 637 GdkGLProc gdk_gl_get_wglGenlockSourceI3D (void); 638 #define gdk_gl_wglGenlockSourceI3D(proc, hDC, uSource) \ 639 ( ((GdkGLProc_wglGenlockSourceI3D) (proc)) (hDC, uSource) ) 640 641 /* wglGetGenlockSourceI3D */ 642 typedef BOOL (WINAPI * GdkGLProc_wglGetGenlockSourceI3D) (HDC hDC, UINT *uSource); 643 GdkGLProc gdk_gl_get_wglGetGenlockSourceI3D (void); 644 #define gdk_gl_wglGetGenlockSourceI3D(proc, hDC, uSource) \ 645 ( ((GdkGLProc_wglGetGenlockSourceI3D) (proc)) (hDC, uSource) ) 646 647 /* wglGenlockSourceEdgeI3D */ 648 typedef BOOL (WINAPI * GdkGLProc_wglGenlockSourceEdgeI3D) (HDC hDC, UINT uEdge); 649 GdkGLProc gdk_gl_get_wglGenlockSourceEdgeI3D (void); 650 #define gdk_gl_wglGenlockSourceEdgeI3D(proc, hDC, uEdge) \ 651 ( ((GdkGLProc_wglGenlockSourceEdgeI3D) (proc)) (hDC, uEdge) ) 652 653 /* wglGetGenlockSourceEdgeI3D */ 654 typedef BOOL (WINAPI * GdkGLProc_wglGetGenlockSourceEdgeI3D) (HDC hDC, UINT *uEdge); 655 GdkGLProc gdk_gl_get_wglGetGenlockSourceEdgeI3D (void); 656 #define gdk_gl_wglGetGenlockSourceEdgeI3D(proc, hDC, uEdge) \ 657 ( ((GdkGLProc_wglGetGenlockSourceEdgeI3D) (proc)) (hDC, uEdge) ) 658 659 /* wglGenlockSampleRateI3D */ 660 typedef BOOL (WINAPI * GdkGLProc_wglGenlockSampleRateI3D) (HDC hDC, UINT uRate); 661 GdkGLProc gdk_gl_get_wglGenlockSampleRateI3D (void); 662 #define gdk_gl_wglGenlockSampleRateI3D(proc, hDC, uRate) \ 663 ( ((GdkGLProc_wglGenlockSampleRateI3D) (proc)) (hDC, uRate) ) 664 665 /* wglGetGenlockSampleRateI3D */ 666 typedef BOOL (WINAPI * GdkGLProc_wglGetGenlockSampleRateI3D) (HDC hDC, UINT *uRate); 667 GdkGLProc gdk_gl_get_wglGetGenlockSampleRateI3D (void); 668 #define gdk_gl_wglGetGenlockSampleRateI3D(proc, hDC, uRate) \ 669 ( ((GdkGLProc_wglGetGenlockSampleRateI3D) (proc)) (hDC, uRate) ) 670 671 /* wglGenlockSourceDelayI3D */ 672 typedef BOOL (WINAPI * GdkGLProc_wglGenlockSourceDelayI3D) (HDC hDC, UINT uDelay); 673 GdkGLProc gdk_gl_get_wglGenlockSourceDelayI3D (void); 674 #define gdk_gl_wglGenlockSourceDelayI3D(proc, hDC, uDelay) \ 675 ( ((GdkGLProc_wglGenlockSourceDelayI3D) (proc)) (hDC, uDelay) ) 676 677 /* wglGetGenlockSourceDelayI3D */ 678 typedef BOOL (WINAPI * GdkGLProc_wglGetGenlockSourceDelayI3D) (HDC hDC, UINT *uDelay); 679 GdkGLProc gdk_gl_get_wglGetGenlockSourceDelayI3D (void); 680 #define gdk_gl_wglGetGenlockSourceDelayI3D(proc, hDC, uDelay) \ 681 ( ((GdkGLProc_wglGetGenlockSourceDelayI3D) (proc)) (hDC, uDelay) ) 682 683 /* wglQueryGenlockMaxSourceDelayI3D */ 684 typedef BOOL (WINAPI * GdkGLProc_wglQueryGenlockMaxSourceDelayI3D) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay); 685 GdkGLProc gdk_gl_get_wglQueryGenlockMaxSourceDelayI3D (void); 686 #define gdk_gl_wglQueryGenlockMaxSourceDelayI3D(proc, hDC, uMaxLineDelay, uMaxPixelDelay) \ 687 ( ((GdkGLProc_wglQueryGenlockMaxSourceDelayI3D) (proc)) (hDC, uMaxLineDelay, uMaxPixelDelay) ) 688 689 /* proc struct */ 690 691 typedef struct _GdkGL_WGL_I3D_genlock GdkGL_WGL_I3D_genlock; 692 693 struct _GdkGL_WGL_I3D_genlock 694 { 695 GdkGLProc_wglEnableGenlockI3D wglEnableGenlockI3D; 696 GdkGLProc_wglDisableGenlockI3D wglDisableGenlockI3D; 697 GdkGLProc_wglIsEnabledGenlockI3D wglIsEnabledGenlockI3D; 698 GdkGLProc_wglGenlockSourceI3D wglGenlockSourceI3D; 699 GdkGLProc_wglGetGenlockSourceI3D wglGetGenlockSourceI3D; 700 GdkGLProc_wglGenlockSourceEdgeI3D wglGenlockSourceEdgeI3D; 701 GdkGLProc_wglGetGenlockSourceEdgeI3D wglGetGenlockSourceEdgeI3D; 702 GdkGLProc_wglGenlockSampleRateI3D wglGenlockSampleRateI3D; 703 GdkGLProc_wglGetGenlockSampleRateI3D wglGetGenlockSampleRateI3D; 704 GdkGLProc_wglGenlockSourceDelayI3D wglGenlockSourceDelayI3D; 705 GdkGLProc_wglGetGenlockSourceDelayI3D wglGetGenlockSourceDelayI3D; 706 GdkGLProc_wglQueryGenlockMaxSourceDelayI3D wglQueryGenlockMaxSourceDelayI3D; 707 }; 708 709 GdkGL_WGL_I3D_genlock *gdk_gl_get_WGL_I3D_genlock (GdkGLConfig *glconfig); 710 711 /* 712 * WGL_I3D_image_buffer 713 */ 714 715 /* wglCreateImageBufferI3D */ 716 typedef LPVOID (WINAPI * GdkGLProc_wglCreateImageBufferI3D) (HDC hDC, DWORD dwSize, UINT uFlags); 717 GdkGLProc gdk_gl_get_wglCreateImageBufferI3D (void); 718 #define gdk_gl_wglCreateImageBufferI3D(proc, hDC, dwSize, uFlags) \ 719 ( ((GdkGLProc_wglCreateImageBufferI3D) (proc)) (hDC, dwSize, uFlags) ) 720 721 /* wglDestroyImageBufferI3D */ 722 typedef BOOL (WINAPI * GdkGLProc_wglDestroyImageBufferI3D) (HDC hDC, LPVOID pAddress); 723 GdkGLProc gdk_gl_get_wglDestroyImageBufferI3D (void); 724 #define gdk_gl_wglDestroyImageBufferI3D(proc, hDC, pAddress) \ 725 ( ((GdkGLProc_wglDestroyImageBufferI3D) (proc)) (hDC, pAddress) ) 726 727 /* wglAssociateImageBufferEventsI3D */ 728 typedef BOOL (WINAPI * GdkGLProc_wglAssociateImageBufferEventsI3D) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count); 729 GdkGLProc gdk_gl_get_wglAssociateImageBufferEventsI3D (void); 730 #define gdk_gl_wglAssociateImageBufferEventsI3D(proc, hDC, pEvent, pAddress, pSize, count) \ 731 ( ((GdkGLProc_wglAssociateImageBufferEventsI3D) (proc)) (hDC, pEvent, pAddress, pSize, count) ) 732 733 /* wglReleaseImageBufferEventsI3D */ 734 typedef BOOL (WINAPI * GdkGLProc_wglReleaseImageBufferEventsI3D) (HDC hDC, const LPVOID *pAddress, UINT count); 735 GdkGLProc gdk_gl_get_wglReleaseImageBufferEventsI3D (void); 736 #define gdk_gl_wglReleaseImageBufferEventsI3D(proc, hDC, pAddress, count) \ 737 ( ((GdkGLProc_wglReleaseImageBufferEventsI3D) (proc)) (hDC, pAddress, count) ) 738 739 /* proc struct */ 740 741 typedef struct _GdkGL_WGL_I3D_image_buffer GdkGL_WGL_I3D_image_buffer; 742 743 struct _GdkGL_WGL_I3D_image_buffer 744 { 745 GdkGLProc_wglCreateImageBufferI3D wglCreateImageBufferI3D; 746 GdkGLProc_wglDestroyImageBufferI3D wglDestroyImageBufferI3D; 747 GdkGLProc_wglAssociateImageBufferEventsI3D wglAssociateImageBufferEventsI3D; 748 GdkGLProc_wglReleaseImageBufferEventsI3D wglReleaseImageBufferEventsI3D; 749 }; 750 751 GdkGL_WGL_I3D_image_buffer *gdk_gl_get_WGL_I3D_image_buffer (GdkGLConfig *glconfig); 752 753 /* 754 * WGL_I3D_swap_frame_lock 755 */ 756 757 /* wglEnableFrameLockI3D */ 758 typedef BOOL (WINAPI * GdkGLProc_wglEnableFrameLockI3D) (void); 759 GdkGLProc gdk_gl_get_wglEnableFrameLockI3D (void); 760 #define gdk_gl_wglEnableFrameLockI3D(proc) \ 761 ( ((GdkGLProc_wglEnableFrameLockI3D) (proc)) () ) 762 763 /* wglDisableFrameLockI3D */ 764 typedef BOOL (WINAPI * GdkGLProc_wglDisableFrameLockI3D) (void); 765 GdkGLProc gdk_gl_get_wglDisableFrameLockI3D (void); 766 #define gdk_gl_wglDisableFrameLockI3D(proc) \ 767 ( ((GdkGLProc_wglDisableFrameLockI3D) (proc)) () ) 768 769 /* wglIsEnabledFrameLockI3D */ 770 typedef BOOL (WINAPI * GdkGLProc_wglIsEnabledFrameLockI3D) (BOOL *pFlag); 771 GdkGLProc gdk_gl_get_wglIsEnabledFrameLockI3D (void); 772 #define gdk_gl_wglIsEnabledFrameLockI3D(proc, pFlag) \ 773 ( ((GdkGLProc_wglIsEnabledFrameLockI3D) (proc)) (pFlag) ) 774 775 /* wglQueryFrameLockMasterI3D */ 776 typedef BOOL (WINAPI * GdkGLProc_wglQueryFrameLockMasterI3D) (BOOL *pFlag); 777 GdkGLProc gdk_gl_get_wglQueryFrameLockMasterI3D (void); 778 #define gdk_gl_wglQueryFrameLockMasterI3D(proc, pFlag) \ 779 ( ((GdkGLProc_wglQueryFrameLockMasterI3D) (proc)) (pFlag) ) 780 781 /* proc struct */ 782 783 typedef struct _GdkGL_WGL_I3D_swap_frame_lock GdkGL_WGL_I3D_swap_frame_lock; 784 785 struct _GdkGL_WGL_I3D_swap_frame_lock 786 { 787 GdkGLProc_wglEnableFrameLockI3D wglEnableFrameLockI3D; 788 GdkGLProc_wglDisableFrameLockI3D wglDisableFrameLockI3D; 789 GdkGLProc_wglIsEnabledFrameLockI3D wglIsEnabledFrameLockI3D; 790 GdkGLProc_wglQueryFrameLockMasterI3D wglQueryFrameLockMasterI3D; 791 }; 792 793 GdkGL_WGL_I3D_swap_frame_lock *gdk_gl_get_WGL_I3D_swap_frame_lock (GdkGLConfig *glconfig); 794 795 /* 796 * WGL_I3D_swap_frame_usage 797 */ 798 799 /* wglGetFrameUsageI3D */ 800 typedef BOOL (WINAPI * GdkGLProc_wglGetFrameUsageI3D) (float *pUsage); 801 GdkGLProc gdk_gl_get_wglGetFrameUsageI3D (void); 802 #define gdk_gl_wglGetFrameUsageI3D(proc, pUsage) \ 803 ( ((GdkGLProc_wglGetFrameUsageI3D) (proc)) (pUsage) ) 804 805 /* wglBeginFrameTrackingI3D */ 806 typedef BOOL (WINAPI * GdkGLProc_wglBeginFrameTrackingI3D) (void); 807 GdkGLProc gdk_gl_get_wglBeginFrameTrackingI3D (void); 808 #define gdk_gl_wglBeginFrameTrackingI3D(proc) \ 809 ( ((GdkGLProc_wglBeginFrameTrackingI3D) (proc)) () ) 810 811 /* wglEndFrameTrackingI3D */ 812 typedef BOOL (WINAPI * GdkGLProc_wglEndFrameTrackingI3D) (void); 813 GdkGLProc gdk_gl_get_wglEndFrameTrackingI3D (void); 814 #define gdk_gl_wglEndFrameTrackingI3D(proc) \ 815 ( ((GdkGLProc_wglEndFrameTrackingI3D) (proc)) () ) 816 817 /* wglQueryFrameTrackingI3D */ 818 typedef BOOL (WINAPI * GdkGLProc_wglQueryFrameTrackingI3D) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); 819 GdkGLProc gdk_gl_get_wglQueryFrameTrackingI3D (void); 820 #define gdk_gl_wglQueryFrameTrackingI3D(proc, pFrameCount, pMissedFrames, pLastMissedUsage) \ 821 ( ((GdkGLProc_wglQueryFrameTrackingI3D) (proc)) (pFrameCount, pMissedFrames, pLastMissedUsage) ) 822 823 /* proc struct */ 824 825 typedef struct _GdkGL_WGL_I3D_swap_frame_usage GdkGL_WGL_I3D_swap_frame_usage; 826 827 struct _GdkGL_WGL_I3D_swap_frame_usage 828 { 829 GdkGLProc_wglGetFrameUsageI3D wglGetFrameUsageI3D; 830 GdkGLProc_wglBeginFrameTrackingI3D wglBeginFrameTrackingI3D; 831 GdkGLProc_wglEndFrameTrackingI3D wglEndFrameTrackingI3D; 832 GdkGLProc_wglQueryFrameTrackingI3D wglQueryFrameTrackingI3D; 833 }; 834 835 GdkGL_WGL_I3D_swap_frame_usage *gdk_gl_get_WGL_I3D_swap_frame_usage (GdkGLConfig *glconfig); 836 837 G_END_DECLS 838 839 #endif /* __GDK_GL_WGLEXT_H__ */ 840