diff options
Diffstat (limited to 'plugins/gtkui/gtkglext-gtk2/gdk/win32')
15 files changed, 0 insertions, 6235 deletions
diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglconfig-win32.c b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglconfig-win32.c deleted file mode 100644 index 50c1fbfe..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglconfig-win32.c +++ /dev/null @@ -1,908 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#include "gdkglwin32.h" -#include "gdkglprivate-win32.h" -#include "gdkglconfig-win32.h" - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT -#include <gdk/gdkscreen.h> -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ - -static void gdk_gl_config_impl_win32_class_init (GdkGLConfigImplWin32Class *klass); -static void gdk_gl_config_impl_win32_finalize (GObject *object); - -static gpointer parent_class = NULL; - -GType -gdk_gl_config_impl_win32_get_type (void) -{ - static GType type = 0; - - if (!type) - { - static const GTypeInfo type_info = { - sizeof (GdkGLConfigImplWin32Class), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_gl_config_impl_win32_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (GdkGLConfigImplWin32), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL - }; - - type = g_type_register_static (GDK_TYPE_GL_CONFIG, - "GdkGLConfigImplWin32", - &type_info, 0); - } - - return type; -} - -static void -gdk_gl_config_impl_win32_class_init (GdkGLConfigImplWin32Class *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_gl_config_impl_win32_finalize; -} - -static void -gdk_gl_config_impl_win32_finalize (GObject *object) -{ - GdkGLConfigImplWin32 *impl = GDK_GL_CONFIG_IMPL_WIN32 (object); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - g_object_unref (G_OBJECT (impl->colormap)); - - G_OBJECT_CLASS (parent_class)->finalize (object); -} - -/* - * This code is based on lib/glut/win32_glx.c of GLUT by Nate Robins. - */ -static void -gdk_gl_config_parse_attrib_list (const int *attrib_list, - PIXELFORMATDESCRIPTOR *pfd) -{ - int *p; - gboolean buffer_size_is_specified = FALSE; - BYTE buffer_size; - int layer_plane; - - GDK_GL_NOTE_FUNC_PRIVATE (); - - memset (pfd, 0, sizeof (PIXELFORMATDESCRIPTOR)); - - /* Specifies the size of this data structure. */ - pfd->nSize = sizeof (PIXELFORMATDESCRIPTOR); - /* Specifies the version of this data structure. This value should be set to 1. */ - pfd->nVersion = 1; - - /* Defaults. */ - - /* A set of bit flags that specify properties of the pixel buffer. - PFD_SUPPORT_GDI and PFD_DOUBLEBUFFER are mutually exclusive in - the current generic implementation. */ - /* PFD_DRAW_TO_WINDOW or PFD_DRAW_TO_BITMAP is not specified at this stage. - The flag is set by gdk_gl_(window|pixmap)_new(). */ - pfd->dwFlags = PFD_SUPPORT_OPENGL | - PFD_SUPPORT_GDI; - - /* Specifies the type of pixel data. */ - pfd->iPixelType = PFD_TYPE_COLORINDEX; - - /* Specifies the number of color bitplanes in each color buffer. - For RGBA pixel types, it is the size of the color buffer, excluding the alpha bitplanes. - For color-index pixels, it is the size of the color-index buffer. */ - pfd->cColorBits = 32; /* Max */ - - /* Ignored. Earlier implementations of OpenGL used this member, - but it is no longer used. */ - layer_plane = 0; - pfd->iLayerType = PFD_MAIN_PLANE; - - p = (int *) attrib_list; - while (*p != GDK_GL_ATTRIB_LIST_NONE) - { - switch (*p) - { - case GDK_GL_USE_GL: - /* The buffer supports OpenGL drawing. */ - pfd->dwFlags |= PFD_SUPPORT_OPENGL; - break; - case GDK_GL_BUFFER_SIZE: - /* Specifies the number of color bitplanes in each color buffer. */ - pfd->cColorBits = *(++p); - buffer_size_is_specified = TRUE; - break; - case GDK_GL_LEVEL: - layer_plane = *(++p); - /* Ignored. Earlier implementations of OpenGL used this member, - but it is no longer used. */ - if (layer_plane > 0) - pfd->iLayerType = PFD_OVERLAY_PLANE; - else if (layer_plane < 0) - pfd->iLayerType = PFD_UNDERLAY_PLANE; - break; - case GDK_GL_RGBA: - /* RGBA pixels. */ - pfd->iPixelType = PFD_TYPE_RGBA; - break; - case GDK_GL_DOUBLEBUFFER: - /* The buffer is double-buffered. */ - pfd->dwFlags &= ~PFD_SUPPORT_GDI; - pfd->dwFlags |= PFD_DOUBLEBUFFER; - break; - case GDK_GL_STEREO: - /* The buffer is stereoscopic. - This flag is not supported in the current generic implementation. */ - pfd->dwFlags |= PFD_STEREO; - break; - case GDK_GL_AUX_BUFFERS: - /* Specifies the number of auxiliary buffers. - Auxiliary buffers are not supported. */ - pfd->cAuxBuffers = *(++p); - break; - case GDK_GL_RED_SIZE: - /* Specifies the number of red bitplanes in each RGBA color buffer. - Not used by ChoosePixelFormat. */ - pfd->cRedBits = *(++p); - break; - case GDK_GL_GREEN_SIZE: - /* Specifies the number of green bitplanes in each RGBA color buffer. - Not used by ChoosePixelFormat. */ - pfd->cGreenBits = *(++p); - break; - case GDK_GL_BLUE_SIZE: - /* Specifies the number of blue bitplanes in each RGBA color buffer. - Not used by ChoosePixelFormat. */ - pfd->cBlueBits = *(++p); - break; - case GDK_GL_ALPHA_SIZE: - /* Specifies the number of alpha bitplanes in each RGBA color buffer. - Alpha bitplanes are not supported. */ - pfd->cAlphaBits = *(++p); - break; - case GDK_GL_DEPTH_SIZE: - /* Specifies the depth of the depth (z-axis) buffer. */ - pfd->cDepthBits = *(++p); - break; - case GDK_GL_STENCIL_SIZE: - /* Specifies the depth of the stencil buffer. */ - pfd->cStencilBits = *(++p); - break; - case GDK_GL_ACCUM_RED_SIZE: - /* Specifies the number of red bitplanes in the accumulation buffer. - Not used by ChoosePixelFormat. */ - pfd->cAccumRedBits = *(++p); - break; - case GDK_GL_ACCUM_GREEN_SIZE: - /* Specifies the number of green bitplanes in the accumulation buffer. - Not used by ChoosePixelFormat. */ - pfd->cAccumGreenBits = *(++p); - break; - case GDK_GL_ACCUM_BLUE_SIZE: - /* Specifies the number of blue bitplanes in the accumulation buffer. - Not used by ChoosePixelFormat. */ - pfd->cAccumBlueBits = *(++p); - break; - case GDK_GL_ACCUM_ALPHA_SIZE: - /* Specifies the number of alpha bitplanes in the accumulation buffer. - Not used by ChoosePixelFormat.*/ - pfd->cAccumAlphaBits = *(++p); - break; - } - ++p; - } - - /* If GDK_GL_BUFFER_SIZE is not specified. */ - if (!buffer_size_is_specified) - { - buffer_size = pfd->cRedBits + pfd->cGreenBits + pfd->cBlueBits; - if (buffer_size != 0) - pfd->cColorBits = buffer_size; - } - - /* Specifies the total number of bitplanes in the accumulation buffer. */ - /* Nate Robins says ... - I believe that WGL only used the cAccumRedBits, - cAccumBlueBits, cAccumGreenBits, and cAccumAlphaBits fields - when returning info about the accumulation buffer precision. - Only cAccumBits is used for requesting an accumulation buffer. */ - pfd->cAccumBits = pfd->cAccumRedBits + - pfd->cAccumGreenBits + - pfd->cAccumBlueBits + - pfd->cAccumAlphaBits; -} - -/* - * Find an appropriate pixel format. - * Basic idea of this code is ripped from FLTK. - */ -/*< private >*/ -int -_gdk_win32_gl_config_find_pixel_format (HDC hdc, - CONST PIXELFORMATDESCRIPTOR *req_pfd, - PIXELFORMATDESCRIPTOR *found_pfd) -{ - PIXELFORMATDESCRIPTOR pfd, chosen_pfd; - int pixel_format = 0; - int i; - - GDK_GL_NOTE_FUNC_PRIVATE (); - - memset (&chosen_pfd, 0, sizeof (chosen_pfd)); - - for (i = 1; ; i++) - { - if (DescribePixelFormat (hdc, i, sizeof (pfd), &pfd) == 0) - break; - - if (~(pfd.dwFlags) & req_pfd->dwFlags) continue; - if (pfd.iPixelType != req_pfd->iPixelType) continue; - if (pfd.cColorBits < req_pfd->cColorBits) continue; - if (pfd.cAlphaBits < req_pfd->cAlphaBits) continue; - if (pfd.cAccumBits < req_pfd->cAccumBits) continue; - if (pfd.cDepthBits < req_pfd->cDepthBits) continue; - if (pfd.cStencilBits < req_pfd->cStencilBits) continue; - if (pfd.cAuxBuffers < req_pfd->cAuxBuffers) continue; - /* if (pfd.iLayerType != req_pfd->iLayerType) continue; */ - - /* Check whether pfd is better than chosen_pfd. */ - if (pixel_format != 0) - { - /* Offering overlay is better. */ - if ((pfd.bReserved & 0x0f) && !(chosen_pfd.bReserved & 0x0f)) {} - /* More color bitplanes is better. */ - else if (pfd.cColorBits > chosen_pfd.cColorBits) {} - /* pfd is not better than chosen_pfd. */ - else continue; - } - - pixel_format = i; - chosen_pfd = pfd; - } - - *found_pfd = chosen_pfd; - - return pixel_format; -} - -/* - * Setup PFD. - */ - -static gboolean -gdk_gl_config_setup_pfd (CONST PIXELFORMATDESCRIPTOR *req_pfd, - PIXELFORMATDESCRIPTOR *pfd) -{ - HDC hdc; - PIXELFORMATDESCRIPTOR temp_pfd; - PIXELFORMATDESCRIPTOR w_pfd, b_pfd; - int w_pf, b_pf; - - GDK_GL_NOTE_FUNC_PRIVATE (); - - /* Get DC. */ - hdc = GetDC (NULL); - if (hdc == NULL) - { - g_warning ("cannot get DC"); - return FALSE; - } - - w_pfd = *req_pfd; - w_pfd.dwFlags &= ~PFD_DRAW_TO_BITMAP; - w_pfd.dwFlags |= PFD_DRAW_TO_WINDOW; - w_pf = _gdk_win32_gl_config_find_pixel_format (hdc, &w_pfd, &w_pfd); - - GDK_GL_NOTE (MISC, g_message (" -- pixel format for windows = 0x%x", w_pf)); - GDK_GL_NOTE (MISC, _gdk_win32_gl_print_pfd (&w_pfd)); - - b_pfd = *req_pfd; - b_pfd.dwFlags &= ~PFD_DRAW_TO_WINDOW; - b_pfd.dwFlags |= PFD_DRAW_TO_BITMAP; - b_pf = _gdk_win32_gl_config_find_pixel_format (hdc, &b_pfd, &b_pfd); - - GDK_GL_NOTE (MISC, g_message (" -- pixel format for bitmaps = 0x%x", b_pf)); - GDK_GL_NOTE (MISC, _gdk_win32_gl_print_pfd (&b_pfd)); - - /* Release DC. */ - ReleaseDC (NULL, hdc); - - if (w_pf == 0 && b_pf == 0) - return FALSE; - - if (w_pf == 0) - { - temp_pfd = b_pfd; - temp_pfd.dwFlags = req_pfd->dwFlags; - } - else if (b_pf == 0) - { - temp_pfd = w_pfd; - temp_pfd.dwFlags = req_pfd->dwFlags; - } - else - { - temp_pfd = w_pfd; - temp_pfd.dwFlags = req_pfd->dwFlags; - if (temp_pfd.cColorBits > b_pfd.cColorBits) - { - temp_pfd.cColorBits = b_pfd.cColorBits; - temp_pfd.cRedBits = b_pfd.cRedBits; - temp_pfd.cRedShift = b_pfd.cRedShift; - temp_pfd.cGreenBits = b_pfd.cGreenBits; - temp_pfd.cGreenShift = b_pfd.cGreenShift; - temp_pfd.cBlueBits = b_pfd.cBlueBits; - temp_pfd.cBlueShift = b_pfd.cBlueShift; - } - if (temp_pfd.cAlphaBits > b_pfd.cAlphaBits) - { - temp_pfd.cAlphaBits = b_pfd.cAlphaBits; - temp_pfd.cAlphaShift = b_pfd.cAlphaShift; - } - if (temp_pfd.cAccumBits > b_pfd.cAccumBits) - { - temp_pfd.cAccumBits = b_pfd.cAccumBits; - temp_pfd.cAccumRedBits = b_pfd.cAccumRedBits; - temp_pfd.cAccumGreenBits = b_pfd.cAccumGreenBits; - temp_pfd.cAccumBlueBits = b_pfd.cAccumBlueBits; - temp_pfd.cAccumAlphaBits = b_pfd.cAccumAlphaBits; - } - temp_pfd.cDepthBits = MIN (temp_pfd.cDepthBits, b_pfd.cDepthBits); - temp_pfd.cStencilBits = MIN (temp_pfd.cStencilBits, b_pfd.cStencilBits); - temp_pfd.cAuxBuffers = MIN (temp_pfd.cAuxBuffers, b_pfd.cAuxBuffers); - } - - *pfd = temp_pfd; - - return TRUE; -} - -/* - * Setup colormap. - */ - -/* - * !!! RGB palette management should be implemented... - */ - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT - -static GdkColormap * -gdk_gl_config_setup_colormap (GdkScreen *screen, - PIXELFORMATDESCRIPTOR *pfd, - gboolean is_rgba) -{ - GDK_GL_NOTE_FUNC_PRIVATE (); - - if (is_rgba) - { - /* - * For RGBA mode. - */ - - /* System default colormap. */ - - GDK_GL_NOTE (MISC, g_message (" -- Colormap: system default")); - - return g_object_ref (G_OBJECT (gdk_screen_get_system_colormap (screen))); - } - else - { - /* - * For color index mode. - */ - - /* New private colormap. */ - - GDK_GL_NOTE (MISC, g_message (" -- Colormap: new allocated writable")); - - return gdk_colormap_new (gdk_screen_get_system_visual (screen), TRUE); - } - - /* not reached */ - return NULL; -} - -#else /* GDKGLEXT_MULTIHEAD_SUPPORT */ - -static GdkColormap * -gdk_gl_config_setup_colormap (GdkScreen *screen, - PIXELFORMATDESCRIPTOR *pfd, - gboolean is_rgba) -{ - GDK_GL_NOTE_FUNC_PRIVATE (); - - if (is_rgba) - { - /* - * For RGBA mode. - */ - - /* Default colormap. */ - - GDK_GL_NOTE (MISC, g_message (" -- Colormap: system default")); - - return g_object_ref (G_OBJECT (gdk_colormap_get_system ())); - } - else - { - /* - * For color index mode. - */ - - /* New private colormap. */ - - GDK_GL_NOTE (MISC, g_message (" -- Colormap: new allocated writable")); - - return gdk_colormap_new (gdk_visual_get_system (), TRUE); - } - - /* not reached */ - return NULL; -} - -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ - -static void -gdk_gl_config_init_attrib (GdkGLConfig *glconfig) -{ - PIXELFORMATDESCRIPTOR *pfd; - - pfd = GDK_GL_CONFIG_PFD (glconfig); - - /* RGBA mode? */ - glconfig->is_rgba = (pfd->iPixelType == PFD_TYPE_RGBA) ? TRUE : FALSE; - - /* Layer plane. */ - if (pfd->bReserved != 0) - { - glconfig->layer_plane = pfd->bReserved & 0x0f; - if (glconfig->layer_plane == 0) - glconfig->layer_plane = -1 * ((pfd->bReserved & 0xf0) >> 4); - } - else - { - glconfig->layer_plane = 0; - } - - /* Double buffering is supported? */ - glconfig->is_double_buffered = (pfd->dwFlags & PFD_DOUBLEBUFFER) ? TRUE : FALSE; - - /* Stereo is supported? (not work on Windows) */ - glconfig->is_stereo = (pfd->dwFlags & PFD_STEREO) ? TRUE : FALSE; - - /* Number of aux buffers */ - glconfig->n_aux_buffers = pfd->cAuxBuffers; - - /* Has alpha bits? */ - glconfig->has_alpha = pfd->cAlphaBits ? TRUE : FALSE; - - /* Has depth buffer? */ - glconfig->has_depth_buffer = pfd->cDepthBits ? TRUE : FALSE; - - /* Has stencil buffer? */ - glconfig->has_stencil_buffer = pfd->cStencilBits ? TRUE : FALSE; - - /* Has accumulation buffer? */ - glconfig->has_accum_buffer = pfd->cAccumBits ? TRUE : FALSE; - - /* Number of multisample buffers (not supported yet) */ - glconfig->n_sample_buffers = 0; -} - -static GdkGLConfig * -gdk_gl_config_new_common (GdkScreen *screen, - const int *attrib_list) -{ - GdkGLConfig *glconfig; - GdkGLConfigImplWin32 *impl; - PIXELFORMATDESCRIPTOR pfd; - - GDK_GL_NOTE_FUNC_PRIVATE (); - - /* - * Parse GLX style attrib_list. - */ - - gdk_gl_config_parse_attrib_list (attrib_list, &pfd); - - GDK_GL_NOTE (MISC, _gdk_win32_gl_print_pfd (&pfd)); - - /* - * Setup PFD. - */ - - if (!gdk_gl_config_setup_pfd (&pfd, &pfd)) - return NULL; - - GDK_GL_NOTE (MISC, g_message (" -- created PFD")); - GDK_GL_NOTE (MISC, _gdk_win32_gl_print_pfd (&pfd)); - - /* - * Instantiate the GdkGLConfigImplWin32 object. - */ - - glconfig = g_object_new (GDK_TYPE_GL_CONFIG_IMPL_WIN32, NULL); - impl = GDK_GL_CONFIG_IMPL_WIN32 (glconfig); - - impl->pfd = pfd; - - impl->screen = screen; - - /* - * Get an appropriate colormap. - */ - - impl->colormap = gdk_gl_config_setup_colormap (screen, - &pfd, - (pfd.iPixelType == PFD_TYPE_RGBA)); - - /* - * Set depth (number of bits per pixel). - */ - - impl->depth = pfd.cRedBits + pfd.cGreenBits + pfd.cBlueBits; - - /* - * Init configuration attributes. - */ - - gdk_gl_config_init_attrib (glconfig); - - return glconfig; -} - -GdkGLConfig * -gdk_gl_config_new (const int *attrib_list) -{ - GdkScreen *screen; - - GDK_GL_NOTE_FUNC (); - - g_return_val_if_fail (attrib_list != NULL, NULL); - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT - screen = gdk_screen_get_default (); -#else /* GDKGLEXT_MULTIHEAD_SUPPORT */ - screen = NULL; -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ - - return gdk_gl_config_new_common (screen, attrib_list); -} - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT - -GdkGLConfig * -gdk_gl_config_new_for_screen (GdkScreen *screen, - const int *attrib_list) -{ - GDK_GL_NOTE_FUNC (); - - g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - g_return_val_if_fail (attrib_list != NULL, NULL); - - return gdk_gl_config_new_common (screen, attrib_list); -} - -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ - -GdkGLConfig * -gdk_win32_gl_config_new_from_pixel_format (int pixel_format) -{ - GdkGLConfig *glconfig; - GdkGLConfigImplWin32 *impl; - - HDC hdc; - PIXELFORMATDESCRIPTOR pfd; - int result; - - GDK_GL_NOTE_FUNC (); - - /* - * Get PFD. - */ - - /* Get DC. */ - hdc = GetDC (NULL); - if (hdc == NULL) - { - g_warning ("cannot get DC"); - return NULL; - } - - result = DescribePixelFormat (hdc, pixel_format, sizeof (pfd), &pfd); - - /* Release DC. */ - ReleaseDC (NULL, hdc); - - if (result == 0) - return NULL; - - GDK_GL_NOTE (MISC, g_message (" -- pixel_format = 0x%x", pixel_format)); - - GDK_GL_NOTE (MISC, _gdk_win32_gl_print_pfd (&pfd)); - - /* - * Instantiate the GdkGLConfigImplWin32 object. - */ - - glconfig = g_object_new (GDK_TYPE_GL_CONFIG_IMPL_WIN32, NULL); - impl = GDK_GL_CONFIG_IMPL_WIN32 (glconfig); - - impl->pfd = pfd; - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT - impl->screen = gdk_screen_get_default (); -#else /* GDKGLEXT_MULTIHEAD_SUPPORT */ - impl->screen = NULL; -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ - - /* - * Get an appropriate colormap. - */ - - impl->colormap = gdk_gl_config_setup_colormap (impl->screen, - &pfd, - (pfd.iPixelType == PFD_TYPE_RGBA)); - - /* - * Set depth (number of bits per pixel). - */ - - impl->depth = pfd.cRedBits + pfd.cGreenBits + pfd.cBlueBits; - - /* - * Init configuration attributes. - */ - - gdk_gl_config_init_attrib (glconfig); - - return glconfig; -} - -GdkScreen * -gdk_gl_config_get_screen (GdkGLConfig *glconfig) -{ - g_return_val_if_fail (GDK_IS_GL_CONFIG_IMPL_WIN32 (glconfig), NULL); - - return GDK_GL_CONFIG_IMPL_WIN32 (glconfig)->screen; -} - -/* - * This code is based on lib/glut/win32_glx.c of GLUT by Nate Robins. - */ -gboolean -gdk_gl_config_get_attrib (GdkGLConfig *glconfig, - int attribute, - int *value) -{ - GdkGLConfigImplWin32 *impl; - - g_return_val_if_fail (GDK_IS_GL_CONFIG_IMPL_WIN32 (glconfig), FALSE); - - impl = GDK_GL_CONFIG_IMPL_WIN32 (glconfig); - - switch (attribute) - { - case GDK_GL_USE_GL: - if (impl->pfd.dwFlags & PFD_SUPPORT_OPENGL) - { - *value = 1; - - /* Mark J. Kilgard says ... - XXX Brad's Matrox Millenium II has problems creating - color index windows in 24-bit mode (lead to GDI crash) - and 32-bit mode (lead to black window). The cColorBits - filed of the PIXELFORMATDESCRIPTOR returned claims to - have 24 and 32 bits respectively of color indices. 2^24 - and 2^32 are ridiculously huge writable colormaps. - Assume that if we get back a color index - PIXELFORMATDESCRIPTOR with 24 or more bits, the - PIXELFORMATDESCRIPTOR doesn't really work and skip it. - -mjk */ -#if 0 - if (impl->pfd.iPixelType == PFD_TYPE_COLORINDEX && - impl->pfd.cColorBits >= 24) - *value = 0; - else - *value = 1; -#endif - } - else - { - *value = 0; - } - break; - case GDK_GL_BUFFER_SIZE: - /* Nate Robins says ... - KLUDGE: if we're RGBA, return the number of bits/pixel, - otherwise, return 8 (we guessed at 256 colors in CI mode). */ - if (impl->pfd.iPixelType == PFD_TYPE_RGBA) - *value = impl->pfd.cColorBits; - else - *value = 8; - break; - case GDK_GL_LEVEL: - *value = glconfig->layer_plane; - break; - case GDK_GL_RGBA: - *value = impl->pfd.iPixelType == PFD_TYPE_RGBA; - break; - case GDK_GL_DOUBLEBUFFER: - *value = impl->pfd.dwFlags & PFD_DOUBLEBUFFER; - break; - case GDK_GL_STEREO: - *value = impl->pfd.dwFlags & PFD_STEREO; - break; - case GDK_GL_AUX_BUFFERS: - *value = impl->pfd.cAuxBuffers; - break; - case GDK_GL_RED_SIZE: - *value = impl->pfd.cRedBits; - break; - case GDK_GL_GREEN_SIZE: - *value = impl->pfd.cGreenBits; - break; - case GDK_GL_BLUE_SIZE: - *value = impl->pfd.cBlueBits; - break; - case GDK_GL_ALPHA_SIZE: - *value = impl->pfd.cAlphaBits; - break; - case GDK_GL_DEPTH_SIZE: - *value = impl->pfd.cDepthBits; - break; - case GDK_GL_STENCIL_SIZE: - *value = impl->pfd.cStencilBits; - break; - case GDK_GL_ACCUM_RED_SIZE: - *value = impl->pfd.cAccumRedBits; - break; - case GDK_GL_ACCUM_GREEN_SIZE: - *value = impl->pfd.cAccumGreenBits; - break; - case GDK_GL_ACCUM_BLUE_SIZE: - *value = impl->pfd.cAccumBlueBits; - break; - case GDK_GL_ACCUM_ALPHA_SIZE: - *value = impl->pfd.cAccumAlphaBits; - break; - default: - return FALSE; - } - - return TRUE; -} - -GdkColormap * -gdk_gl_config_get_colormap (GdkGLConfig *glconfig) -{ - g_return_val_if_fail (GDK_IS_GL_CONFIG_IMPL_WIN32 (glconfig), NULL); - - return GDK_GL_CONFIG_IMPL_WIN32 (glconfig)->colormap; -} - -GdkVisual * -gdk_gl_config_get_visual (GdkGLConfig *glconfig) -{ - g_return_val_if_fail (GDK_IS_GL_CONFIG_IMPL_WIN32 (glconfig), NULL); - - return gdk_colormap_get_visual (GDK_GL_CONFIG_IMPL_WIN32 (glconfig)->colormap); -} - -gint -gdk_gl_config_get_depth (GdkGLConfig *glconfig) -{ - g_return_val_if_fail (GDK_IS_GL_CONFIG_IMPL_WIN32 (glconfig), 0); - - return GDK_GL_CONFIG_IMPL_WIN32 (glconfig)->depth; -} - -PIXELFORMATDESCRIPTOR * -gdk_win32_gl_config_get_pfd (GdkGLConfig *glconfig) -{ - g_return_val_if_fail (GDK_IS_GL_CONFIG_IMPL_WIN32 (glconfig), NULL); - - return &(GDK_GL_CONFIG_IMPL_WIN32 (glconfig)->pfd); -} - -/*< private >*/ -void -_gdk_win32_gl_print_pfd (PIXELFORMATDESCRIPTOR *pfd) -{ - g_message (" -- pfd->dwFlags & PFD_DRAW_TO_WINDOW = %s", - (pfd->dwFlags & PFD_DRAW_TO_WINDOW) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_DRAW_TO_BITMAP = %s", - (pfd->dwFlags & PFD_DRAW_TO_BITMAP) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_SUPPORT_GDI = %s", - (pfd->dwFlags & PFD_SUPPORT_GDI) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_SUPPORT_OPENGL = %s", - (pfd->dwFlags & PFD_SUPPORT_OPENGL) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_GENERIC_ACCELERATED = %s", - (pfd->dwFlags & PFD_GENERIC_ACCELERATED) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_GENERIC_FORMAT = %s", - (pfd->dwFlags & PFD_GENERIC_FORMAT) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_NEED_PALETTE = %s", - (pfd->dwFlags & PFD_NEED_PALETTE) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_NEED_SYSTEM_PALETTE = %s", - (pfd->dwFlags & PFD_NEED_SYSTEM_PALETTE) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_DOUBLEBUFFER = %s", - (pfd->dwFlags & PFD_DOUBLEBUFFER) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_STEREO = %s", - (pfd->dwFlags & PFD_STEREO) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_SWAP_LAYER_BUFFERS = %s", - (pfd->dwFlags & PFD_SWAP_LAYER_BUFFERS) ? "TRUE" : "FALSE"); - - g_message (" -- pfd->dwFlags & PFD_DEPTH_DONTCARE = %s", - (pfd->dwFlags & PFD_DEPTH_DONTCARE) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_DOUBLEBUFFER_DONTCARE = %s", - (pfd->dwFlags & PFD_DOUBLEBUFFER_DONTCARE) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_STEREO_DONTCARE = %s", - (pfd->dwFlags & PFD_STEREO_DONTCARE) ? "TRUE" : "FALSE"); - - g_message (" -- pfd->dwFlags & PFD_SWAP_COPY = %s", - (pfd->dwFlags & PFD_SWAP_COPY) ? "TRUE" : "FALSE"); - g_message (" -- pfd->dwFlags & PFD_SWAP_EXCHANGE = %s", - (pfd->dwFlags & PFD_SWAP_EXCHANGE) ? "TRUE" : "FALSE"); - - g_message (" -- pfd->iPixelType = %d (%s)", - pfd->iPixelType, - (pfd->iPixelType == PFD_TYPE_RGBA) ? "PFD_TYPE_RGBA" : "PFD_TYPE_COLORINDEX"); - - g_message (" -- pfd->cColorBits = %d", pfd->cColorBits); - g_message (" -- pfd->cRedBits = %d", pfd->cRedBits); - g_message (" -- pfd->cRedShift = %d", pfd->cRedShift); - g_message (" -- pfd->cGreenBits = %d", pfd->cGreenBits); - g_message (" -- pfd->cGreenShift = %d", pfd->cGreenShift); - g_message (" -- pfd->cBlueBits = %d", pfd->cBlueBits); - g_message (" -- pfd->cBlueShift = %d", pfd->cBlueShift); - g_message (" -- pfd->cAlphaBits = %d", pfd->cAlphaBits); - g_message (" -- pfd->cAlphaShift = %d", pfd->cAlphaShift); - g_message (" -- pfd->cAccumBits = %d", pfd->cAccumBits); - g_message (" -- pfd->cAccumRedBits = %d", pfd->cAccumRedBits); - g_message (" -- pfd->cAccumGreenBits = %d", pfd->cAccumGreenBits); - g_message (" -- pfd->cAccumBlueBits = %d", pfd->cAccumBlueBits); - g_message (" -- pfd->cAccumAlphaBits = %d", pfd->cAccumAlphaBits); - g_message (" -- pfd->cDepthBits = %d", pfd->cDepthBits); - g_message (" -- pfd->cStencilBits = %d", pfd->cStencilBits); - g_message (" -- pfd->cAuxBuffers = %d", pfd->cAuxBuffers); - - /* Ignored */ - g_message (" -- pfd->iLayerType = %d", pfd->iLayerType); - - g_message (" -- pfd->bReserved & 0x0f = %d", pfd->bReserved & 0x0f); - g_message (" -- (pfd->bReserved & 0xf0) >> 4 = %d", (pfd->bReserved & 0xf0) >> 4); - - /* Ignored */ - g_message (" -- pfd->dwLayerMask = 0x%lx", pfd->dwLayerMask); - - g_message (" -- pfd->dwVisibleMask = 0x%lx", pfd->dwVisibleMask); - - g_message (" -- pfd->dwDamageMask = 0x%lx", pfd->dwDamageMask); -} diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglconfig-win32.h b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglconfig-win32.h deleted file mode 100644 index a9eee140..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglconfig-win32.h +++ /dev/null @@ -1,59 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#ifndef __GDK_GL_CONFIG_WIN32_H__ -#define __GDK_GL_CONFIG_WIN32_H__ - -#include <gdk/gdkglconfig.h> -#include <gdk/win32/gdkglwin32.h> - -G_BEGIN_DECLS - -typedef struct _GdkGLConfigImplWin32 GdkGLConfigImplWin32; -typedef struct _GdkGLConfigImplWin32Class GdkGLConfigImplWin32Class; - -#define GDK_TYPE_GL_CONFIG_IMPL_WIN32 (gdk_gl_config_impl_win32_get_type ()) -#define GDK_GL_CONFIG_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GL_CONFIG_IMPL_WIN32, GdkGLConfigImplWin32)) -#define GDK_GL_CONFIG_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GL_CONFIG_IMPL_WIN32, GdkGLConfigImplWin32Class)) -#define GDK_IS_GL_CONFIG_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GL_CONFIG_IMPL_WIN32)) -#define GDK_IS_GL_CONFIG_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GL_CONFIG_IMPL_WIN32)) -#define GDK_GL_CONFIG_IMPL_WIN32_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GL_CONFIG_IMPL_WIN32, GdkGLConfigImplWin32Class)) - -struct _GdkGLConfigImplWin32 -{ - GdkGLConfig parent_instance; - - PIXELFORMATDESCRIPTOR pfd; - - GdkScreen *screen; - - GdkColormap *colormap; - - gint depth; -}; - -struct _GdkGLConfigImplWin32Class -{ - GdkGLConfigClass parent_class; -}; - -GType gdk_gl_config_impl_win32_get_type (void); - -G_END_DECLS - -#endif /* __GDK_GL_CONFIG_WIN32_H__ */ diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglcontext-win32.c b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglcontext-win32.c deleted file mode 100644 index 408e080a..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglcontext-win32.c +++ /dev/null @@ -1,490 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#include "gdkglwin32.h" -#include "gdkglprivate-win32.h" -#include "gdkglconfig-win32.h" -#include "gdkglcontext-win32.h" - -static void gdk_gl_context_insert (GdkGLContext *glcontext); -static void gdk_gl_context_remove (GdkGLContext *glcontext); -static GdkGLContext *gdk_gl_context_lookup (HGLRC hglrc); -static guint gdk_gl_context_hash (HGLRC *hglrc); -static gboolean gdk_gl_context_equal (HGLRC *a, - HGLRC *b); - -static void gdk_gl_context_impl_win32_class_init (GdkGLContextImplWin32Class *klass); -static void gdk_gl_context_impl_win32_finalize (GObject *object); - -static gpointer parent_class = NULL; - -GType -gdk_gl_context_impl_win32_get_type (void) -{ - static GType type = 0; - - if (!type) - { - static const GTypeInfo type_info = { - sizeof (GdkGLContextImplWin32Class), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_gl_context_impl_win32_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (GdkGLContextImplWin32), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL - }; - - type = g_type_register_static (GDK_TYPE_GL_CONTEXT, - "GdkGLContextImplWin32", - &type_info, 0); - } - - return type; -} - -static void -gdk_gl_context_impl_win32_class_init (GdkGLContextImplWin32Class *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_gl_context_impl_win32_finalize; -} - -void -_gdk_gl_context_destroy (GdkGLContext *glcontext) -{ - GdkGLContextImplWin32 *impl = GDK_GL_CONTEXT_IMPL_WIN32 (glcontext); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - if (impl->is_destroyed) - return; - - gdk_gl_context_remove (glcontext); - - if (impl->hglrc == wglGetCurrentContext ()) - { - glFinish (); - - GDK_GL_NOTE_FUNC_IMPL ("wglMakeCurrent"); - wglMakeCurrent (NULL, NULL); - } - - if (!impl->is_foreign) - { - GDK_GL_NOTE_FUNC_IMPL ("wglDeleteContext"); - wglDeleteContext (impl->hglrc); - impl->hglrc = NULL; - } - - if (impl->gldrawable != NULL) - { - g_object_remove_weak_pointer (G_OBJECT (impl->gldrawable), - (gpointer *) &(impl->gldrawable)); - impl->gldrawable = NULL; - } - - /* currently unused. */ - /* - if (impl->gldrawable_read != NULL) - { - g_object_remove_weak_pointer (G_OBJECT (impl->gldrawable_read), - (gpointer *) &(impl->gldrawable_read)); - impl->gldrawable_read = NULL; - } - */ - - impl->is_destroyed = TRUE; -} - -static void -gdk_gl_context_impl_win32_finalize (GObject *object) -{ - GdkGLContextImplWin32 *impl = GDK_GL_CONTEXT_IMPL_WIN32 (object); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - _gdk_gl_context_destroy (GDK_GL_CONTEXT (object)); - - g_object_unref (G_OBJECT (impl->glconfig)); - - if (impl->share_list != NULL) - g_object_unref (G_OBJECT (impl->share_list)); - - G_OBJECT_CLASS (parent_class)->finalize (object); -} - -static GdkGLContext * -gdk_gl_context_new_common (GdkGLConfig *glconfig, - GdkGLContext *share_list, - int render_type, - HGLRC hglrc, - gboolean is_foreign) -{ - GdkGLContext *glcontext; - GdkGLContextImplWin32 *impl; - - GDK_GL_NOTE_FUNC_PRIVATE (); - - /* - * Instantiate the GdkGLContextImplWin32 object. - */ - - glcontext = g_object_new (GDK_TYPE_GL_CONTEXT_IMPL_WIN32, NULL); - impl = GDK_GL_CONTEXT_IMPL_WIN32 (glcontext); - - impl->hglrc = hglrc; - - if (share_list != NULL && GDK_IS_GL_CONTEXT (share_list)) - { - impl->share_list = share_list; - g_object_ref (G_OBJECT (impl->share_list)); - } - else - { - impl->share_list = NULL; - } - - impl->render_type = render_type; - - impl->glconfig = glconfig; - g_object_ref (G_OBJECT (impl->glconfig)); - - impl->gldrawable = NULL; - impl->gldrawable_read = NULL; - - impl->is_foreign = is_foreign; - - impl->is_destroyed = FALSE; - - /* - * Insert into the GL context hash table. - */ - - gdk_gl_context_insert (glcontext); - - return glcontext; -} - -/*< private >*/ -GdkGLContext * -_gdk_win32_gl_context_new (GdkGLDrawable *gldrawable, - GdkGLContext *share_list, - gboolean direct, - int render_type) -{ - GdkGLConfig *glconfig; - HDC hdc; - HGLRC hglrc; - GdkGLContextImplWin32 *share_impl = NULL; - - GDK_GL_NOTE_FUNC_PRIVATE (); - - /* - * Create an OpenGL rendering context. - */ - - glconfig = gdk_gl_drawable_get_gl_config (gldrawable); - - /* Get DC. */ - hdc = gdk_win32_gl_drawable_hdc_get (gldrawable); - if (hdc == NULL) - return NULL; - - GDK_GL_NOTE_FUNC_IMPL ("wglCreateContext"); - - hglrc = wglCreateContext (hdc); - - /* Release DC. */ - gdk_win32_gl_drawable_hdc_release (gldrawable); - - if (hglrc == NULL) - return NULL; - - if (share_list != NULL && GDK_IS_GL_CONTEXT (share_list)) - { - GDK_GL_NOTE_FUNC_IMPL ("wglShareLists"); - - share_impl = GDK_GL_CONTEXT_IMPL_WIN32 (share_list); - if (!wglShareLists (share_impl->hglrc, hglrc)) - { - wglDeleteContext (hglrc); - return NULL; - } - } - - /* - * Instantiate the GdkGLContextImplWin32 object. - */ - - return gdk_gl_context_new_common (glconfig, - share_list, - render_type, - hglrc, - FALSE); -} - -GdkGLContext * -gdk_win32_gl_context_foreign_new (GdkGLConfig *glconfig, - GdkGLContext *share_list, - HGLRC hglrc) -{ - GDK_GL_NOTE_FUNC (); - - g_return_val_if_fail (GDK_IS_GL_CONFIG_IMPL_WIN32 (glconfig), NULL); - g_return_val_if_fail (hglrc != NULL, NULL); - - /* - * Instantiate the GdkGLContextImplWin32 object. - */ - - return gdk_gl_context_new_common (glconfig, - share_list, - (glconfig->is_rgba) ? GDK_GL_RGBA_TYPE : GDK_GL_COLOR_INDEX_TYPE, - hglrc, - TRUE); -} - -gboolean -gdk_gl_context_copy (GdkGLContext *glcontext, - GdkGLContext *src, - unsigned long mask) -{ - HGLRC dst_hglrc, src_hglrc; - - g_return_val_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext), FALSE); - g_return_val_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (src), FALSE); - - dst_hglrc = GDK_GL_CONTEXT_HGLRC (glcontext); - if (dst_hglrc == NULL) - return FALSE; - - src_hglrc = GDK_GL_CONTEXT_HGLRC (src); - if (src_hglrc == NULL) - return FALSE; - - GDK_GL_NOTE_FUNC_IMPL ("wglCopyContext"); - - return wglCopyContext (src_hglrc, dst_hglrc, mask); -} - -/*< private >*/ -void -_gdk_gl_context_set_gl_drawable (GdkGLContext *glcontext, - GdkGLDrawable *gldrawable) -{ - GdkGLContextImplWin32 *impl = GDK_GL_CONTEXT_IMPL_WIN32 (glcontext); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - if (impl->gldrawable == gldrawable) - return; - - if (impl->gldrawable != NULL) - { - g_object_remove_weak_pointer (G_OBJECT (impl->gldrawable), - (gpointer *) &(impl->gldrawable)); - impl->gldrawable = NULL; - } - - if (gldrawable != NULL && GDK_IS_GL_DRAWABLE (gldrawable)) - { - impl->gldrawable = gldrawable; - g_object_add_weak_pointer (G_OBJECT (impl->gldrawable), - (gpointer *) &(impl->gldrawable)); - } -} - -/*< private >*/ -/* currently unused. */ -/* -void -_gdk_gl_context_set_gl_drawable_read (GdkGLContext *glcontext, - GdkGLDrawable *gldrawable_read) -{ - GdkGLContextImplWin32 *impl = GDK_GL_CONTEXT_IMPL_WIN32 (glcontext); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - if (impl->gldrawable_read == gldrawable_read) - return; - - if (impl->gldrawable_read != NULL) - { - g_object_remove_weak_pointer (G_OBJECT (impl->gldrawable_read), - (gpointer *) &(impl->gldrawable_read)); - impl->gldrawable_read = NULL; - } - - if (gldrawable_read != NULL && GDK_IS_GL_DRAWABLE (gldrawable_read)) - { - impl->gldrawable_read = gldrawable_read; - g_object_add_weak_pointer (G_OBJECT (impl->gldrawable_read), - (gpointer *) &(impl->gldrawable_read)); - } -} -*/ - -GdkGLDrawable * -gdk_gl_context_get_gl_drawable (GdkGLContext *glcontext) -{ - g_return_val_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext), NULL); - - return GDK_GL_CONTEXT_IMPL_WIN32 (glcontext)->gldrawable; -} - -GdkGLConfig * -gdk_gl_context_get_gl_config (GdkGLContext *glcontext) -{ - g_return_val_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext), NULL); - - return GDK_GL_CONTEXT_IMPL_WIN32 (glcontext)->glconfig; -} - -GdkGLContext * -gdk_gl_context_get_share_list (GdkGLContext *glcontext) -{ - g_return_val_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext), NULL); - - return GDK_GL_CONTEXT_IMPL_WIN32 (glcontext)->share_list; -} - -gboolean -gdk_gl_context_is_direct (GdkGLContext *glcontext) -{ - return FALSE; -} - -int -gdk_gl_context_get_render_type (GdkGLContext *glcontext) -{ - g_return_val_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext), 0); - - return GDK_GL_CONTEXT_IMPL_WIN32 (glcontext)->render_type; -} - -GdkGLContext * -gdk_gl_context_get_current (void) -{ - static GdkGLContext *current = NULL; - HGLRC hglrc; - - GDK_GL_NOTE_FUNC (); - - hglrc = wglGetCurrentContext (); - - if (hglrc == NULL) - return NULL; - - if (current && GDK_GL_CONTEXT_HGLRC (current) == hglrc) - return current; - - current = gdk_gl_context_lookup (hglrc); - - return current; -} - -HGLRC -gdk_win32_gl_context_get_hglrc (GdkGLContext *glcontext) -{ - g_return_val_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext), NULL); - - return GDK_GL_CONTEXT_IMPL_WIN32 (glcontext)->hglrc; -} - -/* - * GdkGLContext hash table. - */ - -static GHashTable *gl_context_ht = NULL; - -static void -gdk_gl_context_insert (GdkGLContext *glcontext) -{ - GdkGLContextImplWin32 *impl; - - GDK_GL_NOTE_FUNC_PRIVATE (); - - g_return_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext)); - - if (gl_context_ht == NULL) - { - GDK_GL_NOTE (MISC, g_message (" -- Create GL context hash table.")); - gl_context_ht = g_hash_table_new ((GHashFunc) gdk_gl_context_hash, - (GEqualFunc) gdk_gl_context_equal); - } - - impl = GDK_GL_CONTEXT_IMPL_WIN32 (glcontext); - - g_hash_table_insert (gl_context_ht, &(impl->hglrc), glcontext); -} - -static void -gdk_gl_context_remove (GdkGLContext *glcontext) -{ - GdkGLContextImplWin32 *impl; - - GDK_GL_NOTE_FUNC_PRIVATE (); - - g_return_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext)); - - if (gl_context_ht == NULL) - return; - - impl = GDK_GL_CONTEXT_IMPL_WIN32 (glcontext); - - g_hash_table_remove (gl_context_ht, &(impl->hglrc)); - - if (g_hash_table_size (gl_context_ht) == 0) - { - GDK_GL_NOTE (MISC, g_message (" -- Destroy GL context hash table.")); - g_hash_table_destroy (gl_context_ht); - gl_context_ht = NULL; - } -} - -static GdkGLContext * -gdk_gl_context_lookup (HGLRC hglrc) -{ - GDK_GL_NOTE_FUNC_PRIVATE (); - - if (gl_context_ht == NULL) - return NULL; - - return g_hash_table_lookup (gl_context_ht, &hglrc); -} - -static guint -gdk_gl_context_hash (HGLRC *hglrc) -{ - return (guint) *hglrc; -} - -static gboolean -gdk_gl_context_equal (HGLRC *a, - HGLRC *b) -{ - return (*a == *b); -} diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglcontext-win32.h b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglcontext-win32.h deleted file mode 100644 index 3473ec06..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglcontext-win32.h +++ /dev/null @@ -1,63 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#ifndef __GDK_GL_CONTEXT_WIN32_H__ -#define __GDK_GL_CONTEXT_WIN32_H__ - -#include <gdk/gdkglcontext.h> -#include <gdk/win32/gdkglwin32.h> - -G_BEGIN_DECLS - -typedef struct _GdkGLContextImplWin32 GdkGLContextImplWin32; -typedef struct _GdkGLContextImplWin32Class GdkGLContextImplWin32Class; - -#define GDK_TYPE_GL_CONTEXT_IMPL_WIN32 (gdk_gl_context_impl_win32_get_type ()) -#define GDK_GL_CONTEXT_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GL_CONTEXT_IMPL_WIN32, GdkGLContextImplWin32)) -#define GDK_GL_CONTEXT_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GL_CONTEXT_IMPL_WIN32, GdkGLContextImplWin32Class)) -#define GDK_IS_GL_CONTEXT_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GL_CONTEXT_IMPL_WIN32)) -#define GDK_IS_GL_CONTEXT_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GL_CONTEXT_IMPL_WIN32)) -#define GDK_GL_CONTEXT_IMPL_WIN32_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GL_CONTEXT_IMPL_WIN32, GdkGLContextImplWin32Class)) - -struct _GdkGLContextImplWin32 -{ - GdkGLContext parent_instance; - - HGLRC hglrc; - GdkGLContext *share_list; - int render_type; - - GdkGLConfig *glconfig; - - GdkGLDrawable *gldrawable; - GdkGLDrawable *gldrawable_read; /* currently unused. */ - - guint is_destroyed : 1; - guint is_foreign : 1; -}; - -struct _GdkGLContextImplWin32Class -{ - GdkGLContextClass parent_class; -}; - -GType gdk_gl_context_impl_win32_get_type (void); - -G_END_DECLS - -#endif /* __GDK_GL_CONTEXT_WIN32_H__ */ diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkgldrawable-win32.c b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkgldrawable-win32.c deleted file mode 100644 index 20f50cf5..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkgldrawable-win32.c +++ /dev/null @@ -1,63 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#include "gdkglwin32.h" -#include "gdkglprivate-win32.h" -#include "gdkglpixmap-win32.h" -#include "gdkglwindow-win32.h" -#include "gdkgldrawable.h" - -HDC -gdk_win32_gl_drawable_hdc_get (GdkGLDrawable *gldrawable) -{ - if (GDK_IS_GL_PIXMAP (gldrawable)) - { - GdkGLPixmapImplWin32 *impl = GDK_GL_PIXMAP_IMPL_WIN32 (gldrawable); - return GDK_GL_PIXMAP_IMPL_WIN32_HDC_GET (impl); - } - else if (GDK_IS_GL_WINDOW (gldrawable)) - { - GdkGLWindowImplWin32 *impl = GDK_GL_WINDOW_IMPL_WIN32 (gldrawable); - return GDK_GL_WINDOW_IMPL_WIN32_HDC_GET (impl); - } - else - g_warning ("GLDrawable should be GLPixmap or GLWindow"); - - return NULL; -} - -void -gdk_win32_gl_drawable_hdc_release (GdkGLDrawable *gldrawable) -{ - if (GDK_IS_GL_PIXMAP (gldrawable)) - { - /* GLPixmap's memory DC doesn't need to be released. */ - /* - GdkGLPixmapImplWin32 *impl = GDK_GL_PIXMAP_IMPL_WIN32 (gldrawable); - GDK_GL_PIXMAP_IMPL_WIN32_HDC_RELEASE (impl); - */ - return; - } - else if (GDK_IS_GL_WINDOW (gldrawable)) - { - GdkGLWindowImplWin32 *impl = GDK_GL_WINDOW_IMPL_WIN32 (gldrawable); - GDK_GL_WINDOW_IMPL_WIN32_HDC_RELEASE (impl); - } - else - g_warning ("GLDrawable should be GLPixmap or GLWindow"); -} diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglfont-win32.c b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglfont-win32.c deleted file mode 100644 index 880715b2..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglfont-win32.c +++ /dev/null @@ -1,109 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#include <pango/pangowin32.h> - -#include "gdkglwin32.h" -#include "gdkglprivate-win32.h" -#include "gdkglfont.h" - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT -#include <gdk/gdkdisplay.h> -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ - -PangoFont * -gdk_gl_font_use_pango_font (const PangoFontDescription *font_desc, - int first, - int count, - int list_base) -{ - PangoFontMap *font_map; - PangoFont *font = NULL; - LOGFONT *logfont = NULL; - PangoWin32FontCache *font_cache; - HFONT hfont; - HDC hdc; - - g_return_val_if_fail (font_desc != NULL, NULL); - - GDK_GL_NOTE_FUNC (); - - font_map = pango_win32_font_map_for_display (); - - font = pango_font_map_load_font (font_map, NULL, font_desc); - if (font == NULL) - { - g_warning ("cannot load PangoFont"); - goto FAIL; - } - - logfont = pango_win32_font_logfont (font); - if (logfont == NULL) - { - g_warning ("cannot get LOGFONT struct"); - font = NULL; - goto FAIL; - } - - font_cache = pango_win32_font_map_get_font_cache (font_map); - - hfont = pango_win32_font_cache_load (font_cache, logfont); - - hdc = CreateCompatibleDC (NULL); - if (hdc == NULL) - { - g_warning ("cannot create a memory DC"); - font = NULL; - goto FAIL; - } - - SelectObject (hdc, hfont); - - if (!wglUseFontBitmaps (hdc, first, count, list_base)) - { - g_warning ("cannot create the font display lists"); - font = NULL; - goto FAIL; - } - - if (!DeleteDC (hdc)) - g_warning ("cannot delete the memory DC"); - - pango_win32_font_cache_unload (font_cache, hfont); - - FAIL: - - if (logfont != NULL) - g_free (logfont); - - return font; -} - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT - -PangoFont * -gdk_gl_font_use_pango_font_for_display (GdkDisplay *display, - const PangoFontDescription *font_desc, - int first, - int count, - int list_base) -{ - return gdk_gl_font_use_pango_font (font_desc, first, count, list_base); -} - -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglpixmap-win32.c b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglpixmap-win32.c deleted file mode 100644 index 093297f6..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglpixmap-win32.c +++ /dev/null @@ -1,532 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#include "gdkglwin32.h" -#include "gdkglprivate-win32.h" -#include "gdkglconfig-win32.h" -#include "gdkglcontext-win32.h" -#include "gdkglpixmap-win32.h" - -static void gdk_gl_pixmap_sync_gl (GdkGLPixmap *glpixmap); -static void gdk_gl_pixmap_sync_gdk (GdkGLPixmap *glpixmap); - -static gboolean gdk_gl_pixmap_impl_win32_make_context_current (GdkGLDrawable *draw, - GdkGLDrawable *read, - GdkGLContext *glcontext); -static gboolean gdk_gl_pixmap_impl_win32_is_double_buffered (GdkGLDrawable *gldrawable); -static void gdk_gl_pixmap_impl_win32_swap_buffers (GdkGLDrawable *gldrawable); -static void gdk_gl_pixmap_impl_win32_wait_gl (GdkGLDrawable *gldrawable); -static void gdk_gl_pixmap_impl_win32_wait_gdk (GdkGLDrawable *gldrawable); -static gboolean gdk_gl_pixmap_impl_win32_gl_begin (GdkGLDrawable *draw, - GdkGLDrawable *read, - GdkGLContext *glcontext); -static void gdk_gl_pixmap_impl_win32_gl_end (GdkGLDrawable *gldrawable); -static GdkGLConfig *gdk_gl_pixmap_impl_win32_get_gl_config (GdkGLDrawable *gldrawable); - -static void gdk_gl_pixmap_impl_win32_class_init (GdkGLPixmapImplWin32Class *klass); -static void gdk_gl_pixmap_impl_win32_finalize (GObject *object); -static void gdk_gl_pixmap_impl_win32_gl_drawable_interface_init (GdkGLDrawableClass *iface); - -static gpointer parent_class = NULL; - -GType -gdk_gl_pixmap_impl_win32_get_type (void) -{ - static GType type = 0; - - if (!type) - { - static const GTypeInfo type_info = { - sizeof (GdkGLPixmapImplWin32Class), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_gl_pixmap_impl_win32_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (GdkGLPixmapImplWin32), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL - }; - static const GInterfaceInfo gl_drawable_interface_info = { - (GInterfaceInitFunc) gdk_gl_pixmap_impl_win32_gl_drawable_interface_init, - (GInterfaceFinalizeFunc) NULL, - NULL /* interface_data */ - }; - - type = g_type_register_static (GDK_TYPE_GL_PIXMAP, - "GdkGLPixmapImplWin32", - &type_info, 0); - g_type_add_interface_static (type, - GDK_TYPE_GL_DRAWABLE, - &gl_drawable_interface_info); - } - - return type; -} - -static void -gdk_gl_pixmap_impl_win32_class_init (GdkGLPixmapImplWin32Class *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_gl_pixmap_impl_win32_finalize; -} - -void -_gdk_gl_pixmap_destroy (GdkGLPixmap *glpixmap) -{ - GdkGLPixmapImplWin32 *impl = GDK_GL_PIXMAP_IMPL_WIN32 (glpixmap); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - if (impl->is_destroyed) - return; - - if (impl->hdc_gl == wglGetCurrentDC ()) - { - glFinish (); - - GDK_GL_NOTE_FUNC_IMPL ("wglMakeCurrent"); - wglMakeCurrent (NULL, NULL); - } - - DeleteDC (impl->hdc_gl); - impl->hdc_gl = NULL; - - DeleteDC (impl->hdc_gdk); - impl->hdc_gdk = NULL; - - g_object_unref (G_OBJECT (impl->pixmap_gl)); - impl->pixmap_gl = NULL; - - impl->is_destroyed = TRUE; -} - -static void -gdk_gl_pixmap_impl_win32_finalize (GObject *object) -{ - GdkGLPixmapImplWin32 *impl = GDK_GL_PIXMAP_IMPL_WIN32 (object); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - _gdk_gl_pixmap_destroy (GDK_GL_PIXMAP (object)); - - g_object_unref (G_OBJECT (impl->glconfig)); - - G_OBJECT_CLASS (parent_class)->finalize (object); -} - -static void -gdk_gl_pixmap_impl_win32_gl_drawable_interface_init (GdkGLDrawableClass *iface) -{ - GDK_GL_NOTE_FUNC_PRIVATE (); - - iface->create_new_context = _gdk_win32_gl_context_new; - iface->make_context_current = gdk_gl_pixmap_impl_win32_make_context_current; - iface->is_double_buffered = gdk_gl_pixmap_impl_win32_is_double_buffered; - iface->swap_buffers = gdk_gl_pixmap_impl_win32_swap_buffers; - iface->wait_gl = gdk_gl_pixmap_impl_win32_wait_gl; - iface->wait_gdk = gdk_gl_pixmap_impl_win32_wait_gdk; - iface->gl_begin = gdk_gl_pixmap_impl_win32_gl_begin; - iface->gl_end = gdk_gl_pixmap_impl_win32_gl_end; - iface->get_gl_config = gdk_gl_pixmap_impl_win32_get_gl_config; - iface->get_size = _gdk_gl_pixmap_get_size; -} - -/* - * attrib_list is currently unused. This must be set to NULL or empty - * (first attribute of None). See GLX 1.3 spec. - */ -GdkGLPixmap * -gdk_gl_pixmap_new (GdkGLConfig *glconfig, - GdkPixmap *pixmap, - const int *attrib_list) -{ - GdkGLPixmap *glpixmap; - GdkGLPixmapImplWin32 *impl; - - gint width, height; - gint depth; - GdkPixmap *pixmap_gl = NULL; - - HBITMAP hbitmap_gl; - HDC hdc_gl = NULL; - PIXELFORMATDESCRIPTOR pfd; - int pixel_format; - - HBITMAP hbitmap_gdk; - HDC hdc_gdk = NULL; - - GDK_GL_NOTE_FUNC (); - - g_return_val_if_fail (GDK_IS_GL_CONFIG_IMPL_WIN32 (glconfig), NULL); - g_return_val_if_fail (GDK_IS_PIXMAP (pixmap), NULL); - - /* - * Create offscreen rendering area. - */ - - gdk_drawable_get_size (GDK_DRAWABLE (pixmap), &width, &height); - depth = gdk_drawable_get_depth (GDK_DRAWABLE (pixmap)); - - pixmap_gl = gdk_pixmap_new (NULL, width, height, depth); - if (pixmap_gl == NULL) - goto FAIL; - - /* - * Source (OpenGL) DIB - */ - - hbitmap_gl = (HBITMAP) gdk_win32_drawable_get_handle (GDK_DRAWABLE (pixmap_gl)); - - /* Create a memory DC. */ - hdc_gl = CreateCompatibleDC (NULL); - if (hdc_gl == NULL) - { - g_warning ("cannot create a memory DC"); - goto FAIL; - } - - /* Select the bitmap. */ - if (SelectObject (hdc_gl, hbitmap_gl) == NULL) - { - g_warning ("cannot select DIB"); - goto FAIL; - } - - /* - * Choose pixel format. - */ - - pfd = *(GDK_GL_CONFIG_PFD (glconfig)); - /* Draw to bitmap */ - pfd.dwFlags &= ~PFD_DRAW_TO_WINDOW; - pfd.dwFlags |= PFD_DRAW_TO_BITMAP; - - /* Request pfd.cColorBits should exclude alpha bitplanes. */ - pfd.cColorBits = pfd.cRedBits + pfd.cGreenBits + pfd.cBlueBits; - - GDK_GL_NOTE_FUNC_IMPL ("ChoosePixelFormat"); - - pixel_format = ChoosePixelFormat (hdc_gl, &pfd); - if (pixel_format == 0) - { - g_warning ("cannot choose pixel format"); - goto FAIL; - } - - /* - * Set pixel format. - */ - - GDK_GL_NOTE_FUNC_IMPL ("SetPixelFormat"); - - if (!SetPixelFormat (hdc_gl, pixel_format, &pfd)) - { - g_warning ("cannot set pixel format"); - goto FAIL; - } - - DescribePixelFormat (hdc_gl, pixel_format, sizeof (pfd), &pfd); - - GDK_GL_NOTE (MISC, g_message (" -- impl->pixel_format = 0x%x", pixel_format)); - GDK_GL_NOTE (MISC, _gdk_win32_gl_print_pfd (&pfd)); - - /* - * Destination (GDK) DIB - */ - - hbitmap_gdk = (HBITMAP) gdk_win32_drawable_get_handle (GDK_DRAWABLE (pixmap)); - - /* Create a memory DC. */ - hdc_gdk = CreateCompatibleDC (hdc_gl); - if (hdc_gdk == NULL) - { - g_warning ("cannot create a memory DC"); - goto FAIL; - } - - /* - * Instantiate the GdkGLPixmapImplWin32 object. - */ - - glpixmap = g_object_new (GDK_TYPE_GL_PIXMAP_IMPL_WIN32, NULL); - impl = GDK_GL_PIXMAP_IMPL_WIN32 (glpixmap); - - glpixmap->drawable = GDK_DRAWABLE (pixmap); - g_object_add_weak_pointer (G_OBJECT (glpixmap->drawable), - (gpointer *) &(glpixmap->drawable)); - - impl->pixmap_gl = pixmap_gl; - - impl->width = width; - impl->height = height; - - impl->pfd = pfd; - impl->pixel_format = pixel_format; - - impl->glconfig = glconfig; - g_object_ref (G_OBJECT (impl->glconfig)); - - impl->hdc_gl = hdc_gl; - - impl->hdc_gdk = hdc_gdk; - impl->hbitmap_gdk = hbitmap_gdk; - - impl->is_destroyed = FALSE; - - return glpixmap; - - FAIL: - - if (hdc_gdk != NULL) - DeleteDC (hdc_gdk); - - if (hdc_gl != NULL) - DeleteDC (hdc_gl); - - if (pixmap_gl != NULL) - g_object_unref (G_OBJECT (pixmap_gl)); - - return NULL; -} - -static void -gdk_gl_pixmap_sync_gl (GdkGLPixmap *glpixmap) -{ - GdkGLPixmapImplWin32 *impl; - int width, height; - HBITMAP hbitmap_old; - - g_return_if_fail (GDK_IS_GL_PIXMAP_IMPL_WIN32 (glpixmap)); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - impl = GDK_GL_PIXMAP_IMPL_WIN32 (glpixmap); - - width = impl->width; - height = impl->height; - - /* - * Copy OpenGL bitmap to GDK bitmap. - */ - - hbitmap_old = SelectObject (impl->hdc_gdk, impl->hbitmap_gdk); - if (hbitmap_old == NULL) - { - g_warning ("cannot select DIB"); - return; - } - - if (!StretchBlt (impl->hdc_gdk, 0, 0, width, height, - impl->hdc_gl, 0, height, width, -height, - SRCCOPY)) - g_warning ("StretchBlt() failed"); - - SelectObject (impl->hdc_gdk, hbitmap_old); -} - -static void -gdk_gl_pixmap_sync_gdk (GdkGLPixmap *glpixmap) -{ - GdkGLPixmapImplWin32 *impl; - int width, height; - HBITMAP hbitmap_old; - - g_return_if_fail (GDK_IS_GL_PIXMAP_IMPL_WIN32 (glpixmap)); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - impl = GDK_GL_PIXMAP_IMPL_WIN32 (glpixmap); - - width = impl->width; - height = impl->height; - - /* - * Copy GDK bitmap to OpenGL bitmap. - */ - - hbitmap_old = SelectObject (impl->hdc_gdk, impl->hbitmap_gdk); - if (hbitmap_old == NULL) - { - g_warning ("cannot select DIB"); - return; - } - - if (!StretchBlt (impl->hdc_gl, 0, 0, width, height, - impl->hdc_gdk, 0, height, width, -height, - SRCCOPY)) - g_warning ("StretchBlt() failed"); - - SelectObject (impl->hdc_gdk, hbitmap_old); -} - -static gboolean -gdk_gl_pixmap_impl_win32_make_context_current (GdkGLDrawable *draw, - GdkGLDrawable *read, - GdkGLContext *glcontext) -{ - GdkGLPixmapImplWin32 *impl; - HDC hdc; - HGLRC hglrc; - - g_return_val_if_fail (GDK_IS_GL_PIXMAP_IMPL_WIN32 (draw), FALSE); - g_return_val_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext), FALSE); - - if (GDK_GL_PIXMAP_IS_DESTROYED (draw) || - GDK_GL_CONTEXT_IS_DESTROYED (glcontext)) - return FALSE; - - impl = GDK_GL_PIXMAP_IMPL_WIN32 (draw); - - /* Get DC. */ - hdc = GDK_GL_PIXMAP_IMPL_WIN32_HDC_GET (impl); - - /* Get GLRC. */ - hglrc = GDK_GL_CONTEXT_HGLRC (glcontext); - - GDK_GL_NOTE_FUNC_IMPL ("wglMakeCurrent"); - - if (!wglMakeCurrent (hdc, hglrc)) - { - _gdk_gl_context_set_gl_drawable (glcontext, NULL); - /* currently unused. */ - /* _gdk_gl_context_set_gl_drawable_read (glcontext, NULL); */ - return FALSE; - } - - _gdk_gl_context_set_gl_drawable (glcontext, draw); - /* currently unused. */ - /* _gdk_gl_context_set_gl_drawable_read (glcontext, read); */ - - if (_GDK_GL_CONFIG_AS_SINGLE_MODE (impl->glconfig)) - { - /* We do this because we are treating a double-buffered frame - buffer as a single-buffered frame buffer because the system - does not appear to export any suitable single-buffered - visuals (in which the following are necessary). */ - glDrawBuffer (GL_FRONT); - glReadBuffer (GL_FRONT); - } - - GDK_GL_NOTE (MISC, _gdk_gl_print_gl_info ()); - - /* Do *NOT* release DC. */ - - return TRUE; -} - -static gboolean -gdk_gl_pixmap_impl_win32_is_double_buffered (GdkGLDrawable *gldrawable) -{ - g_return_val_if_fail (GDK_IS_GL_PIXMAP_IMPL_WIN32 (gldrawable), FALSE); - - return gdk_gl_config_is_double_buffered (GDK_GL_PIXMAP_IMPL_WIN32 (gldrawable)->glconfig); -} - -static void -gdk_gl_pixmap_impl_win32_swap_buffers (GdkGLDrawable *gldrawable) -{ - GdkGLPixmapImplWin32 *impl; - HDC hdc; - - g_return_if_fail (GDK_IS_GL_PIXMAP_IMPL_WIN32 (gldrawable)); - - if (GDK_GL_PIXMAP_IS_DESTROYED (gldrawable)) - return; - - impl = GDK_GL_PIXMAP_IMPL_WIN32 (gldrawable); - - /* Get DC. */ - hdc = GDK_GL_PIXMAP_IMPL_WIN32_HDC_GET (impl); - - GDK_GL_NOTE_FUNC_IMPL ("SwapBuffers"); - - SwapBuffers (hdc); - - /* Release DC. */ - /* GDK_GL_PIXMAP_IMPL_WIN32_HDC_RELEASE (impl); */ -} - -static void -gdk_gl_pixmap_impl_win32_wait_gl (GdkGLDrawable *gldrawable) -{ - glFinish (); - - /* Sync. */ - gdk_gl_pixmap_sync_gl (GDK_GL_PIXMAP (gldrawable)); -} - -static void -gdk_gl_pixmap_impl_win32_wait_gdk (GdkGLDrawable *gldrawable) -{ - GdiFlush (); - - /* Sync. */ - gdk_gl_pixmap_sync_gdk (GDK_GL_PIXMAP (gldrawable)); -} - -static gboolean -gdk_gl_pixmap_impl_win32_gl_begin (GdkGLDrawable *draw, - GdkGLDrawable *read, - GdkGLContext *glcontext) -{ - gboolean ret; - - ret = gdk_gl_pixmap_impl_win32_make_context_current (draw, read, glcontext); - if (!ret) - return FALSE; - - gdk_gl_pixmap_impl_win32_wait_gdk (draw); - - return TRUE; -} - -static void -gdk_gl_pixmap_impl_win32_gl_end (GdkGLDrawable *gldrawable) -{ - gdk_gl_pixmap_impl_win32_wait_gl (gldrawable); -} - -static GdkGLConfig * -gdk_gl_pixmap_impl_win32_get_gl_config (GdkGLDrawable *gldrawable) -{ - g_return_val_if_fail (GDK_IS_GL_PIXMAP_IMPL_WIN32 (gldrawable), NULL); - - return GDK_GL_PIXMAP_IMPL_WIN32 (gldrawable)->glconfig; -} - -PIXELFORMATDESCRIPTOR * -gdk_win32_gl_pixmap_get_pfd (GdkGLPixmap *glpixmap) -{ - g_return_val_if_fail (GDK_IS_GL_PIXMAP_IMPL_WIN32 (glpixmap), NULL); - - return &(GDK_GL_PIXMAP_IMPL_WIN32 (glpixmap)->pfd); -} - -int -gdk_win32_gl_pixmap_get_pixel_format (GdkGLPixmap *glpixmap) -{ - g_return_val_if_fail (GDK_IS_GL_PIXMAP_IMPL_WIN32 (glpixmap), 0); - - return GDK_GL_PIXMAP_IMPL_WIN32 (glpixmap)->pixel_format; -} diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglpixmap-win32.h b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglpixmap-win32.h deleted file mode 100644 index 9d808a55..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglpixmap-win32.h +++ /dev/null @@ -1,75 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#ifndef __GDK_GL_PIXMAP_WIN32_H__ -#define __GDK_GL_PIXMAP_WIN32_H__ - -#include <gdk/gdkglpixmap.h> -#include <gdk/win32/gdkglwin32.h> - -G_BEGIN_DECLS - -typedef struct _GdkGLPixmapImplWin32 GdkGLPixmapImplWin32; -typedef struct _GdkGLPixmapImplWin32Class GdkGLPixmapImplWin32Class; - -#define GDK_TYPE_GL_PIXMAP_IMPL_WIN32 (gdk_gl_pixmap_impl_win32_get_type ()) -#define GDK_GL_PIXMAP_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GL_PIXMAP_IMPL_WIN32, GdkGLPixmapImplWin32)) -#define GDK_GL_PIXMAP_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GL_PIXMAP_IMPL_WIN32, GdkGLPixmapImplWin32Class)) -#define GDK_IS_GL_PIXMAP_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GL_PIXMAP_IMPL_WIN32)) -#define GDK_IS_GL_PIXMAP_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GL_PIXMAP_IMPL_WIN32)) -#define GDK_GL_PIXMAP_IMPL_WIN32_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GL_PIXMAP_IMPL_WIN32, GdkGLPixmapImplWin32Class)) - -struct _GdkGLPixmapImplWin32 -{ - GdkGLPixmap parent_instance; - - GdkPixmap *pixmap_gl; - - int width; - int height; - - PIXELFORMATDESCRIPTOR pfd; - int pixel_format; - - GdkGLConfig *glconfig; - - /*< private >*/ - HDC hdc_gl; - - HDC hdc_gdk; - HBITMAP hbitmap_gdk; - - guint is_destroyed : 1; -}; - -struct _GdkGLPixmapImplWin32Class -{ - GdkGLPixmapClass parent_class; -}; - -GType gdk_gl_pixmap_impl_win32_get_type (void); - -#define GDK_GL_PIXMAP_IMPL_WIN32_HDC_GET(impl) \ - ( (impl)->hdc_gl ) - -#define GDK_GL_PIXMAP_IMPL_WIN32_HDC_RELEASE(impl) \ - ( (void) 0 ) - -G_END_DECLS - -#endif /* __GDK_GL_PIXMAP_WIN32_H__ */ diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglprivate-win32.h b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglprivate-win32.h deleted file mode 100644 index da681ce5..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglprivate-win32.h +++ /dev/null @@ -1,59 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#ifndef __GDK_GL_PRIVATE_WIN32_H__ -#define __GDK_GL_PRIVATE_WIN32_H__ - -#include <gdk/gdkprivate.h> - -#include <gdk/gdkglprivate.h> -#include <gdk/win32/gdkglwin32.h> - -G_BEGIN_DECLS - -int _gdk_win32_gl_config_find_pixel_format (HDC hdc, - CONST PIXELFORMATDESCRIPTOR* req_pfd, - PIXELFORMATDESCRIPTOR* found_pfd); - -void _gdk_win32_gl_print_pfd (PIXELFORMATDESCRIPTOR *pfd); - -GdkGLContext *_gdk_win32_gl_context_new (GdkGLDrawable *gldrawable, - GdkGLContext *share_list, - gboolean direct, - int render_type); - -void _gdk_gl_context_set_gl_drawable (GdkGLContext *glcontext, - GdkGLDrawable *gldrawable); -/* currently unused. */ -/* -void _gdk_gl_context_set_gl_drawable_read (GdkGLContext *glcontext, - GdkGLDrawable *gldrawable_read); -*/ - -#define GDK_GL_CONTEXT_IS_DESTROYED(glcontext) \ - ( ((GdkGLContextImplWin32 *) (glcontext))->is_destroyed ) - -#define GDK_GL_PIXMAP_IS_DESTROYED(glpixmap) \ - ( ((GdkGLPixmapImplWin32 *) (glpixmap))->is_destroyed ) - -#define GDK_GL_WINDOW_IS_DESTROYED(glwindow) \ - ( ((GdkGLWindowImplWin32 *) (glwindow))->is_destroyed ) - -G_END_DECLS - -#endif /* __GDK_GL_PRIVATE_WIN32_H__ */ diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglquery-win32.c b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglquery-win32.c deleted file mode 100644 index 97e4e63a..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglquery-win32.c +++ /dev/null @@ -1,252 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#include <string.h> - -#include "gdkglwin32.h" -#include "gdkglprivate-win32.h" -#include "gdkglquery.h" - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT -#include <gdk/gdkdisplay.h> -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ - -gboolean -gdk_gl_query_extension (void) -{ - return TRUE; - -#if 0 - DWORD version = GetVersion (); - DWORD major = (DWORD) (LOBYTE (LOWORD (version))); - - if (version < 0x80000000) /* Windows NT/2000/XP */ - { - if (major >= 3) - return TRUE; - } - else /* Windows 95/98/Me */ - { - if (major >= 4) - return TRUE; - } - - return FALSE; -#endif -} - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT - -gboolean -gdk_gl_query_extension_for_display (GdkDisplay *display) -{ - g_return_val_if_fail (display == gdk_display_get_default (), FALSE); - - return TRUE; - -#if 0 - DWORD version = GetVersion (); - DWORD major = (DWORD) (LOBYTE (LOWORD (version))); - - if (version < 0x80000000) /* Windows NT/2000/XP */ - { - if (major >= 3) - return TRUE; - } - else /* Windows 95/98/Me */ - { - if (major >= 4) - return TRUE; - } - - return FALSE; -#endif -} - -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ - -gboolean -gdk_gl_query_version (int *major, - int *minor) -{ - DWORD version = GetVersion (); - - /* return Windows version. */ - *major = (int) (LOBYTE (LOWORD (version))); - *minor = (int) (HIBYTE (LOWORD (version))); - - return TRUE; -} - -#ifdef GDKGLEXT_MULTIHEAD_SUPPORT - -gboolean -gdk_gl_query_version_for_display (GdkDisplay *display, - int *major, - int *minor) -{ - DWORD version; - - g_return_val_if_fail (display == gdk_display_get_default (), FALSE); - - version = GetVersion (); - - /* return Windows version. */ - *major = (int) (LOBYTE (LOWORD (version))); - *minor = (int) (HIBYTE (LOWORD (version))); - - return TRUE; -} - -#endif /* GDKGLEXT_MULTIHEAD_SUPPORT */ - -gboolean -gdk_win32_gl_query_wgl_extension (GdkGLConfig *glconfig, - const char *extension) -{ - typedef const char * (WINAPI * __wglGetExtensionsStringARBProc) (HDC); - typedef const char * (WINAPI * __wglGetExtensionsStringEXTProc) (void); - __wglGetExtensionsStringARBProc wgl_get_extensions_string_arb; - __wglGetExtensionsStringEXTProc wgl_get_extensions_string_ext; - - static const char *extensions = NULL; - const char *start; - char *where, *terminator; - HDC hdc; - - /* Extension names should not have spaces. */ - where = strchr (extension, ' '); - if (where || *extension == '\0') - return FALSE; - - if (extensions == NULL) - { - /* Try wglGetExtensionsStringARB. */ - - wgl_get_extensions_string_arb = - (__wglGetExtensionsStringARBProc) gdk_gl_get_proc_address ("wglGetExtensionsStringARB"); - - if (wgl_get_extensions_string_arb) - { - hdc = GetDC (NULL); - if (hdc == NULL) - { - g_warning ("cannot get DC"); - } - else - { - extensions = wgl_get_extensions_string_arb (hdc); - ReleaseDC (NULL, hdc); - } - } - - if (extensions == NULL) - { - /* Try wglGetExtensionsStringEXT. */ - - wgl_get_extensions_string_ext = - (__wglGetExtensionsStringEXTProc) gdk_gl_get_proc_address ("wglGetExtensionsStringEXT"); - - if (wgl_get_extensions_string_ext) - extensions = wgl_get_extensions_string_ext (); - } - - if (extensions == NULL) - return FALSE; - } - - /* It takes a bit of care to be fool-proof about parsing - the WGL extensions string. Don't be fooled by - sub-strings, etc. */ - start = extensions; - for (;;) - { - where = strstr (start, extension); - if (where == NULL) - break; - - terminator = where + strlen (extension); - - if (where == start || *(where - 1) == ' ') - if (*terminator == ' ' || *terminator == '\0') - { - GDK_GL_NOTE (MISC, g_message (" - %s - supported", extension)); - return TRUE; - } - - start = terminator; - } - - GDK_GL_NOTE (MISC, g_message (" - %s - not supported", extension)); - - return FALSE; -} - -GdkGLProc -gdk_gl_get_proc_address (const char *proc_name) -{ - GdkGLProc proc_address = NULL; - HMODULE hmodule; - - GDK_GL_NOTE_FUNC (); - - if (strncmp ("glu", proc_name, 3) != 0) - { - /* Try wglGetProcAddress () */ - - proc_address = (GdkGLProc) wglGetProcAddress (proc_name); - - GDK_GL_NOTE (IMPL, g_message (" ** wglGetProcAddress () - %s", - proc_address ? "succeeded" : "failed")); - - if (proc_address != NULL) - return proc_address; - - /* Try GetProcAddress () */ - - /* opengl32.dll */ - - GDK_GL_NOTE (MISC, g_message (" - Get opengl32.dll module handle")); - - hmodule = GetModuleHandle ("opengl32.dll"); - if (hmodule == NULL) - g_warning ("Cannot get opengl32.dll module handle"); - else - proc_address = (GdkGLProc) GetProcAddress (hmodule, proc_name); - - GDK_GL_NOTE (IMPL, g_message (" ** GetProcAddress () - %s", - proc_address ? "succeeded" : "failed")); - } - else - { - /* glu32.dll */ - - GDK_GL_NOTE (MISC, g_message (" - Get glu32.dll module handle")); - - hmodule = GetModuleHandle ("glu32.dll"); - if (hmodule == NULL) - g_warning ("Cannot get glu32.dll module handle"); - else - proc_address = (GdkGLProc) GetProcAddress (hmodule, proc_name); - - GDK_GL_NOTE (IMPL, g_message (" ** GetProcAddress () - %s", - proc_address ? "succeeded" : "failed")); - } - - return proc_address; -} diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwglext.c b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwglext.c deleted file mode 100644 index 757857f9..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwglext.c +++ /dev/null @@ -1,2186 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -/* - * This is a generated file. Please modify "gen-gdkglwglext-c.pl". - */ - -#include "gdkglwin32.h" -#include "gdkglprivate-win32.h" -#include "gdkglwglext.h" - -/* - * WGL_ARB_buffer_region - */ - -static GdkGL_WGL_ARB_buffer_region _procs_WGL_ARB_buffer_region = { - (GdkGLProc_wglCreateBufferRegionARB) -1, - (GdkGLProc_wglDeleteBufferRegionARB) -1, - (GdkGLProc_wglSaveBufferRegionARB) -1, - (GdkGLProc_wglRestoreBufferRegionARB) -1 -}; - -/* wglCreateBufferRegionARB */ -GdkGLProc -gdk_gl_get_wglCreateBufferRegionARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_buffer_region.wglCreateBufferRegionARB == (GdkGLProc_wglCreateBufferRegionARB) -1) - _procs_WGL_ARB_buffer_region.wglCreateBufferRegionARB = - (GdkGLProc_wglCreateBufferRegionARB) gdk_gl_get_proc_address ("wglCreateBufferRegionARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglCreateBufferRegionARB () - %s", - (_procs_WGL_ARB_buffer_region.wglCreateBufferRegionARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_buffer_region.wglCreateBufferRegionARB); -} - -/* wglDeleteBufferRegionARB */ -GdkGLProc -gdk_gl_get_wglDeleteBufferRegionARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_buffer_region.wglDeleteBufferRegionARB == (GdkGLProc_wglDeleteBufferRegionARB) -1) - _procs_WGL_ARB_buffer_region.wglDeleteBufferRegionARB = - (GdkGLProc_wglDeleteBufferRegionARB) gdk_gl_get_proc_address ("wglDeleteBufferRegionARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglDeleteBufferRegionARB () - %s", - (_procs_WGL_ARB_buffer_region.wglDeleteBufferRegionARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_buffer_region.wglDeleteBufferRegionARB); -} - -/* wglSaveBufferRegionARB */ -GdkGLProc -gdk_gl_get_wglSaveBufferRegionARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_buffer_region.wglSaveBufferRegionARB == (GdkGLProc_wglSaveBufferRegionARB) -1) - _procs_WGL_ARB_buffer_region.wglSaveBufferRegionARB = - (GdkGLProc_wglSaveBufferRegionARB) gdk_gl_get_proc_address ("wglSaveBufferRegionARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglSaveBufferRegionARB () - %s", - (_procs_WGL_ARB_buffer_region.wglSaveBufferRegionARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_buffer_region.wglSaveBufferRegionARB); -} - -/* wglRestoreBufferRegionARB */ -GdkGLProc -gdk_gl_get_wglRestoreBufferRegionARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_buffer_region.wglRestoreBufferRegionARB == (GdkGLProc_wglRestoreBufferRegionARB) -1) - _procs_WGL_ARB_buffer_region.wglRestoreBufferRegionARB = - (GdkGLProc_wglRestoreBufferRegionARB) gdk_gl_get_proc_address ("wglRestoreBufferRegionARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglRestoreBufferRegionARB () - %s", - (_procs_WGL_ARB_buffer_region.wglRestoreBufferRegionARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_buffer_region.wglRestoreBufferRegionARB); -} - -/* Get WGL_ARB_buffer_region functions */ -GdkGL_WGL_ARB_buffer_region * -gdk_gl_get_WGL_ARB_buffer_region (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_ARB_buffer_region"); - - if (supported) - { - supported &= (gdk_gl_get_wglCreateBufferRegionARB () != NULL); - supported &= (gdk_gl_get_wglDeleteBufferRegionARB () != NULL); - supported &= (gdk_gl_get_wglSaveBufferRegionARB () != NULL); - supported &= (gdk_gl_get_wglRestoreBufferRegionARB () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_ARB_buffer_region () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_ARB_buffer_region; -} - -/* - * WGL_ARB_extensions_string - */ - -static GdkGL_WGL_ARB_extensions_string _procs_WGL_ARB_extensions_string = { - (GdkGLProc_wglGetExtensionsStringARB) -1 -}; - -/* wglGetExtensionsStringARB */ -GdkGLProc -gdk_gl_get_wglGetExtensionsStringARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_extensions_string.wglGetExtensionsStringARB == (GdkGLProc_wglGetExtensionsStringARB) -1) - _procs_WGL_ARB_extensions_string.wglGetExtensionsStringARB = - (GdkGLProc_wglGetExtensionsStringARB) gdk_gl_get_proc_address ("wglGetExtensionsStringARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetExtensionsStringARB () - %s", - (_procs_WGL_ARB_extensions_string.wglGetExtensionsStringARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_extensions_string.wglGetExtensionsStringARB); -} - -/* Get WGL_ARB_extensions_string functions */ -GdkGL_WGL_ARB_extensions_string * -gdk_gl_get_WGL_ARB_extensions_string (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_ARB_extensions_string"); - - if (supported) - { - supported &= (gdk_gl_get_wglGetExtensionsStringARB () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_ARB_extensions_string () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_ARB_extensions_string; -} - -/* - * WGL_ARB_pixel_format - */ - -static GdkGL_WGL_ARB_pixel_format _procs_WGL_ARB_pixel_format = { - (GdkGLProc_wglGetPixelFormatAttribivARB) -1, - (GdkGLProc_wglGetPixelFormatAttribfvARB) -1, - (GdkGLProc_wglChoosePixelFormatARB) -1 -}; - -/* wglGetPixelFormatAttribivARB */ -GdkGLProc -gdk_gl_get_wglGetPixelFormatAttribivARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_pixel_format.wglGetPixelFormatAttribivARB == (GdkGLProc_wglGetPixelFormatAttribivARB) -1) - _procs_WGL_ARB_pixel_format.wglGetPixelFormatAttribivARB = - (GdkGLProc_wglGetPixelFormatAttribivARB) gdk_gl_get_proc_address ("wglGetPixelFormatAttribivARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetPixelFormatAttribivARB () - %s", - (_procs_WGL_ARB_pixel_format.wglGetPixelFormatAttribivARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_pixel_format.wglGetPixelFormatAttribivARB); -} - -/* wglGetPixelFormatAttribfvARB */ -GdkGLProc -gdk_gl_get_wglGetPixelFormatAttribfvARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_pixel_format.wglGetPixelFormatAttribfvARB == (GdkGLProc_wglGetPixelFormatAttribfvARB) -1) - _procs_WGL_ARB_pixel_format.wglGetPixelFormatAttribfvARB = - (GdkGLProc_wglGetPixelFormatAttribfvARB) gdk_gl_get_proc_address ("wglGetPixelFormatAttribfvARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetPixelFormatAttribfvARB () - %s", - (_procs_WGL_ARB_pixel_format.wglGetPixelFormatAttribfvARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_pixel_format.wglGetPixelFormatAttribfvARB); -} - -/* wglChoosePixelFormatARB */ -GdkGLProc -gdk_gl_get_wglChoosePixelFormatARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_pixel_format.wglChoosePixelFormatARB == (GdkGLProc_wglChoosePixelFormatARB) -1) - _procs_WGL_ARB_pixel_format.wglChoosePixelFormatARB = - (GdkGLProc_wglChoosePixelFormatARB) gdk_gl_get_proc_address ("wglChoosePixelFormatARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglChoosePixelFormatARB () - %s", - (_procs_WGL_ARB_pixel_format.wglChoosePixelFormatARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_pixel_format.wglChoosePixelFormatARB); -} - -/* Get WGL_ARB_pixel_format functions */ -GdkGL_WGL_ARB_pixel_format * -gdk_gl_get_WGL_ARB_pixel_format (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_ARB_pixel_format"); - - if (supported) - { - supported &= (gdk_gl_get_wglGetPixelFormatAttribivARB () != NULL); - supported &= (gdk_gl_get_wglGetPixelFormatAttribfvARB () != NULL); - supported &= (gdk_gl_get_wglChoosePixelFormatARB () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_ARB_pixel_format () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_ARB_pixel_format; -} - -/* - * WGL_ARB_make_current_read - */ - -static GdkGL_WGL_ARB_make_current_read _procs_WGL_ARB_make_current_read = { - (GdkGLProc_wglMakeContextCurrentARB) -1, - (GdkGLProc_wglGetCurrentReadDCARB) -1 -}; - -/* wglMakeContextCurrentARB */ -GdkGLProc -gdk_gl_get_wglMakeContextCurrentARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_make_current_read.wglMakeContextCurrentARB == (GdkGLProc_wglMakeContextCurrentARB) -1) - _procs_WGL_ARB_make_current_read.wglMakeContextCurrentARB = - (GdkGLProc_wglMakeContextCurrentARB) gdk_gl_get_proc_address ("wglMakeContextCurrentARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglMakeContextCurrentARB () - %s", - (_procs_WGL_ARB_make_current_read.wglMakeContextCurrentARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_make_current_read.wglMakeContextCurrentARB); -} - -/* wglGetCurrentReadDCARB */ -GdkGLProc -gdk_gl_get_wglGetCurrentReadDCARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_make_current_read.wglGetCurrentReadDCARB == (GdkGLProc_wglGetCurrentReadDCARB) -1) - _procs_WGL_ARB_make_current_read.wglGetCurrentReadDCARB = - (GdkGLProc_wglGetCurrentReadDCARB) gdk_gl_get_proc_address ("wglGetCurrentReadDCARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetCurrentReadDCARB () - %s", - (_procs_WGL_ARB_make_current_read.wglGetCurrentReadDCARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_make_current_read.wglGetCurrentReadDCARB); -} - -/* Get WGL_ARB_make_current_read functions */ -GdkGL_WGL_ARB_make_current_read * -gdk_gl_get_WGL_ARB_make_current_read (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_ARB_make_current_read"); - - if (supported) - { - supported &= (gdk_gl_get_wglMakeContextCurrentARB () != NULL); - supported &= (gdk_gl_get_wglGetCurrentReadDCARB () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_ARB_make_current_read () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_ARB_make_current_read; -} - -/* - * WGL_ARB_pbuffer - */ - -static GdkGL_WGL_ARB_pbuffer _procs_WGL_ARB_pbuffer = { - (GdkGLProc_wglCreatePbufferARB) -1, - (GdkGLProc_wglGetPbufferDCARB) -1, - (GdkGLProc_wglReleasePbufferDCARB) -1, - (GdkGLProc_wglDestroyPbufferARB) -1, - (GdkGLProc_wglQueryPbufferARB) -1 -}; - -/* wglCreatePbufferARB */ -GdkGLProc -gdk_gl_get_wglCreatePbufferARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_pbuffer.wglCreatePbufferARB == (GdkGLProc_wglCreatePbufferARB) -1) - _procs_WGL_ARB_pbuffer.wglCreatePbufferARB = - (GdkGLProc_wglCreatePbufferARB) gdk_gl_get_proc_address ("wglCreatePbufferARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglCreatePbufferARB () - %s", - (_procs_WGL_ARB_pbuffer.wglCreatePbufferARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_pbuffer.wglCreatePbufferARB); -} - -/* wglGetPbufferDCARB */ -GdkGLProc -gdk_gl_get_wglGetPbufferDCARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_pbuffer.wglGetPbufferDCARB == (GdkGLProc_wglGetPbufferDCARB) -1) - _procs_WGL_ARB_pbuffer.wglGetPbufferDCARB = - (GdkGLProc_wglGetPbufferDCARB) gdk_gl_get_proc_address ("wglGetPbufferDCARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetPbufferDCARB () - %s", - (_procs_WGL_ARB_pbuffer.wglGetPbufferDCARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_pbuffer.wglGetPbufferDCARB); -} - -/* wglReleasePbufferDCARB */ -GdkGLProc -gdk_gl_get_wglReleasePbufferDCARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_pbuffer.wglReleasePbufferDCARB == (GdkGLProc_wglReleasePbufferDCARB) -1) - _procs_WGL_ARB_pbuffer.wglReleasePbufferDCARB = - (GdkGLProc_wglReleasePbufferDCARB) gdk_gl_get_proc_address ("wglReleasePbufferDCARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglReleasePbufferDCARB () - %s", - (_procs_WGL_ARB_pbuffer.wglReleasePbufferDCARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_pbuffer.wglReleasePbufferDCARB); -} - -/* wglDestroyPbufferARB */ -GdkGLProc -gdk_gl_get_wglDestroyPbufferARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_pbuffer.wglDestroyPbufferARB == (GdkGLProc_wglDestroyPbufferARB) -1) - _procs_WGL_ARB_pbuffer.wglDestroyPbufferARB = - (GdkGLProc_wglDestroyPbufferARB) gdk_gl_get_proc_address ("wglDestroyPbufferARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglDestroyPbufferARB () - %s", - (_procs_WGL_ARB_pbuffer.wglDestroyPbufferARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_pbuffer.wglDestroyPbufferARB); -} - -/* wglQueryPbufferARB */ -GdkGLProc -gdk_gl_get_wglQueryPbufferARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_pbuffer.wglQueryPbufferARB == (GdkGLProc_wglQueryPbufferARB) -1) - _procs_WGL_ARB_pbuffer.wglQueryPbufferARB = - (GdkGLProc_wglQueryPbufferARB) gdk_gl_get_proc_address ("wglQueryPbufferARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglQueryPbufferARB () - %s", - (_procs_WGL_ARB_pbuffer.wglQueryPbufferARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_pbuffer.wglQueryPbufferARB); -} - -/* Get WGL_ARB_pbuffer functions */ -GdkGL_WGL_ARB_pbuffer * -gdk_gl_get_WGL_ARB_pbuffer (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_ARB_pbuffer"); - - if (supported) - { - supported &= (gdk_gl_get_wglCreatePbufferARB () != NULL); - supported &= (gdk_gl_get_wglGetPbufferDCARB () != NULL); - supported &= (gdk_gl_get_wglReleasePbufferDCARB () != NULL); - supported &= (gdk_gl_get_wglDestroyPbufferARB () != NULL); - supported &= (gdk_gl_get_wglQueryPbufferARB () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_ARB_pbuffer () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_ARB_pbuffer; -} - -/* - * WGL_ARB_render_texture - */ - -static GdkGL_WGL_ARB_render_texture _procs_WGL_ARB_render_texture = { - (GdkGLProc_wglBindTexImageARB) -1, - (GdkGLProc_wglReleaseTexImageARB) -1, - (GdkGLProc_wglSetPbufferAttribARB) -1 -}; - -/* wglBindTexImageARB */ -GdkGLProc -gdk_gl_get_wglBindTexImageARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_render_texture.wglBindTexImageARB == (GdkGLProc_wglBindTexImageARB) -1) - _procs_WGL_ARB_render_texture.wglBindTexImageARB = - (GdkGLProc_wglBindTexImageARB) gdk_gl_get_proc_address ("wglBindTexImageARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglBindTexImageARB () - %s", - (_procs_WGL_ARB_render_texture.wglBindTexImageARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_render_texture.wglBindTexImageARB); -} - -/* wglReleaseTexImageARB */ -GdkGLProc -gdk_gl_get_wglReleaseTexImageARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_render_texture.wglReleaseTexImageARB == (GdkGLProc_wglReleaseTexImageARB) -1) - _procs_WGL_ARB_render_texture.wglReleaseTexImageARB = - (GdkGLProc_wglReleaseTexImageARB) gdk_gl_get_proc_address ("wglReleaseTexImageARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglReleaseTexImageARB () - %s", - (_procs_WGL_ARB_render_texture.wglReleaseTexImageARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_render_texture.wglReleaseTexImageARB); -} - -/* wglSetPbufferAttribARB */ -GdkGLProc -gdk_gl_get_wglSetPbufferAttribARB (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_ARB_render_texture.wglSetPbufferAttribARB == (GdkGLProc_wglSetPbufferAttribARB) -1) - _procs_WGL_ARB_render_texture.wglSetPbufferAttribARB = - (GdkGLProc_wglSetPbufferAttribARB) gdk_gl_get_proc_address ("wglSetPbufferAttribARB"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglSetPbufferAttribARB () - %s", - (_procs_WGL_ARB_render_texture.wglSetPbufferAttribARB) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_ARB_render_texture.wglSetPbufferAttribARB); -} - -/* Get WGL_ARB_render_texture functions */ -GdkGL_WGL_ARB_render_texture * -gdk_gl_get_WGL_ARB_render_texture (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_ARB_render_texture"); - - if (supported) - { - supported &= (gdk_gl_get_wglBindTexImageARB () != NULL); - supported &= (gdk_gl_get_wglReleaseTexImageARB () != NULL); - supported &= (gdk_gl_get_wglSetPbufferAttribARB () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_ARB_render_texture () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_ARB_render_texture; -} - -/* - * WGL_EXT_display_color_table - */ - -static GdkGL_WGL_EXT_display_color_table _procs_WGL_EXT_display_color_table = { - (GdkGLProc_wglCreateDisplayColorTableEXT) -1, - (GdkGLProc_wglLoadDisplayColorTableEXT) -1, - (GdkGLProc_wglBindDisplayColorTableEXT) -1, - (GdkGLProc_wglDestroyDisplayColorTableEXT) -1 -}; - -/* wglCreateDisplayColorTableEXT */ -GdkGLProc -gdk_gl_get_wglCreateDisplayColorTableEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_display_color_table.wglCreateDisplayColorTableEXT == (GdkGLProc_wglCreateDisplayColorTableEXT) -1) - _procs_WGL_EXT_display_color_table.wglCreateDisplayColorTableEXT = - (GdkGLProc_wglCreateDisplayColorTableEXT) gdk_gl_get_proc_address ("wglCreateDisplayColorTableEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglCreateDisplayColorTableEXT () - %s", - (_procs_WGL_EXT_display_color_table.wglCreateDisplayColorTableEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_display_color_table.wglCreateDisplayColorTableEXT); -} - -/* wglLoadDisplayColorTableEXT */ -GdkGLProc -gdk_gl_get_wglLoadDisplayColorTableEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_display_color_table.wglLoadDisplayColorTableEXT == (GdkGLProc_wglLoadDisplayColorTableEXT) -1) - _procs_WGL_EXT_display_color_table.wglLoadDisplayColorTableEXT = - (GdkGLProc_wglLoadDisplayColorTableEXT) gdk_gl_get_proc_address ("wglLoadDisplayColorTableEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglLoadDisplayColorTableEXT () - %s", - (_procs_WGL_EXT_display_color_table.wglLoadDisplayColorTableEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_display_color_table.wglLoadDisplayColorTableEXT); -} - -/* wglBindDisplayColorTableEXT */ -GdkGLProc -gdk_gl_get_wglBindDisplayColorTableEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_display_color_table.wglBindDisplayColorTableEXT == (GdkGLProc_wglBindDisplayColorTableEXT) -1) - _procs_WGL_EXT_display_color_table.wglBindDisplayColorTableEXT = - (GdkGLProc_wglBindDisplayColorTableEXT) gdk_gl_get_proc_address ("wglBindDisplayColorTableEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglBindDisplayColorTableEXT () - %s", - (_procs_WGL_EXT_display_color_table.wglBindDisplayColorTableEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_display_color_table.wglBindDisplayColorTableEXT); -} - -/* wglDestroyDisplayColorTableEXT */ -GdkGLProc -gdk_gl_get_wglDestroyDisplayColorTableEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_display_color_table.wglDestroyDisplayColorTableEXT == (GdkGLProc_wglDestroyDisplayColorTableEXT) -1) - _procs_WGL_EXT_display_color_table.wglDestroyDisplayColorTableEXT = - (GdkGLProc_wglDestroyDisplayColorTableEXT) gdk_gl_get_proc_address ("wglDestroyDisplayColorTableEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglDestroyDisplayColorTableEXT () - %s", - (_procs_WGL_EXT_display_color_table.wglDestroyDisplayColorTableEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_display_color_table.wglDestroyDisplayColorTableEXT); -} - -/* Get WGL_EXT_display_color_table functions */ -GdkGL_WGL_EXT_display_color_table * -gdk_gl_get_WGL_EXT_display_color_table (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_EXT_display_color_table"); - - if (supported) - { - supported &= (gdk_gl_get_wglCreateDisplayColorTableEXT () != NULL); - supported &= (gdk_gl_get_wglLoadDisplayColorTableEXT () != NULL); - supported &= (gdk_gl_get_wglBindDisplayColorTableEXT () != NULL); - supported &= (gdk_gl_get_wglDestroyDisplayColorTableEXT () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_EXT_display_color_table () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_EXT_display_color_table; -} - -/* - * WGL_EXT_extensions_string - */ - -static GdkGL_WGL_EXT_extensions_string _procs_WGL_EXT_extensions_string = { - (GdkGLProc_wglGetExtensionsStringEXT) -1 -}; - -/* wglGetExtensionsStringEXT */ -GdkGLProc -gdk_gl_get_wglGetExtensionsStringEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_extensions_string.wglGetExtensionsStringEXT == (GdkGLProc_wglGetExtensionsStringEXT) -1) - _procs_WGL_EXT_extensions_string.wglGetExtensionsStringEXT = - (GdkGLProc_wglGetExtensionsStringEXT) gdk_gl_get_proc_address ("wglGetExtensionsStringEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetExtensionsStringEXT () - %s", - (_procs_WGL_EXT_extensions_string.wglGetExtensionsStringEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_extensions_string.wglGetExtensionsStringEXT); -} - -/* Get WGL_EXT_extensions_string functions */ -GdkGL_WGL_EXT_extensions_string * -gdk_gl_get_WGL_EXT_extensions_string (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_EXT_extensions_string"); - - if (supported) - { - supported &= (gdk_gl_get_wglGetExtensionsStringEXT () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_EXT_extensions_string () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_EXT_extensions_string; -} - -/* - * WGL_EXT_make_current_read - */ - -static GdkGL_WGL_EXT_make_current_read _procs_WGL_EXT_make_current_read = { - (GdkGLProc_wglMakeContextCurrentEXT) -1, - (GdkGLProc_wglGetCurrentReadDCEXT) -1 -}; - -/* wglMakeContextCurrentEXT */ -GdkGLProc -gdk_gl_get_wglMakeContextCurrentEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_make_current_read.wglMakeContextCurrentEXT == (GdkGLProc_wglMakeContextCurrentEXT) -1) - _procs_WGL_EXT_make_current_read.wglMakeContextCurrentEXT = - (GdkGLProc_wglMakeContextCurrentEXT) gdk_gl_get_proc_address ("wglMakeContextCurrentEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglMakeContextCurrentEXT () - %s", - (_procs_WGL_EXT_make_current_read.wglMakeContextCurrentEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_make_current_read.wglMakeContextCurrentEXT); -} - -/* wglGetCurrentReadDCEXT */ -GdkGLProc -gdk_gl_get_wglGetCurrentReadDCEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_make_current_read.wglGetCurrentReadDCEXT == (GdkGLProc_wglGetCurrentReadDCEXT) -1) - _procs_WGL_EXT_make_current_read.wglGetCurrentReadDCEXT = - (GdkGLProc_wglGetCurrentReadDCEXT) gdk_gl_get_proc_address ("wglGetCurrentReadDCEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetCurrentReadDCEXT () - %s", - (_procs_WGL_EXT_make_current_read.wglGetCurrentReadDCEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_make_current_read.wglGetCurrentReadDCEXT); -} - -/* Get WGL_EXT_make_current_read functions */ -GdkGL_WGL_EXT_make_current_read * -gdk_gl_get_WGL_EXT_make_current_read (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_EXT_make_current_read"); - - if (supported) - { - supported &= (gdk_gl_get_wglMakeContextCurrentEXT () != NULL); - supported &= (gdk_gl_get_wglGetCurrentReadDCEXT () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_EXT_make_current_read () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_EXT_make_current_read; -} - -/* - * WGL_EXT_pbuffer - */ - -static GdkGL_WGL_EXT_pbuffer _procs_WGL_EXT_pbuffer = { - (GdkGLProc_wglCreatePbufferEXT) -1, - (GdkGLProc_wglGetPbufferDCEXT) -1, - (GdkGLProc_wglReleasePbufferDCEXT) -1, - (GdkGLProc_wglDestroyPbufferEXT) -1, - (GdkGLProc_wglQueryPbufferEXT) -1 -}; - -/* wglCreatePbufferEXT */ -GdkGLProc -gdk_gl_get_wglCreatePbufferEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_pbuffer.wglCreatePbufferEXT == (GdkGLProc_wglCreatePbufferEXT) -1) - _procs_WGL_EXT_pbuffer.wglCreatePbufferEXT = - (GdkGLProc_wglCreatePbufferEXT) gdk_gl_get_proc_address ("wglCreatePbufferEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglCreatePbufferEXT () - %s", - (_procs_WGL_EXT_pbuffer.wglCreatePbufferEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_pbuffer.wglCreatePbufferEXT); -} - -/* wglGetPbufferDCEXT */ -GdkGLProc -gdk_gl_get_wglGetPbufferDCEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_pbuffer.wglGetPbufferDCEXT == (GdkGLProc_wglGetPbufferDCEXT) -1) - _procs_WGL_EXT_pbuffer.wglGetPbufferDCEXT = - (GdkGLProc_wglGetPbufferDCEXT) gdk_gl_get_proc_address ("wglGetPbufferDCEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetPbufferDCEXT () - %s", - (_procs_WGL_EXT_pbuffer.wglGetPbufferDCEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_pbuffer.wglGetPbufferDCEXT); -} - -/* wglReleasePbufferDCEXT */ -GdkGLProc -gdk_gl_get_wglReleasePbufferDCEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_pbuffer.wglReleasePbufferDCEXT == (GdkGLProc_wglReleasePbufferDCEXT) -1) - _procs_WGL_EXT_pbuffer.wglReleasePbufferDCEXT = - (GdkGLProc_wglReleasePbufferDCEXT) gdk_gl_get_proc_address ("wglReleasePbufferDCEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglReleasePbufferDCEXT () - %s", - (_procs_WGL_EXT_pbuffer.wglReleasePbufferDCEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_pbuffer.wglReleasePbufferDCEXT); -} - -/* wglDestroyPbufferEXT */ -GdkGLProc -gdk_gl_get_wglDestroyPbufferEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_pbuffer.wglDestroyPbufferEXT == (GdkGLProc_wglDestroyPbufferEXT) -1) - _procs_WGL_EXT_pbuffer.wglDestroyPbufferEXT = - (GdkGLProc_wglDestroyPbufferEXT) gdk_gl_get_proc_address ("wglDestroyPbufferEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglDestroyPbufferEXT () - %s", - (_procs_WGL_EXT_pbuffer.wglDestroyPbufferEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_pbuffer.wglDestroyPbufferEXT); -} - -/* wglQueryPbufferEXT */ -GdkGLProc -gdk_gl_get_wglQueryPbufferEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_pbuffer.wglQueryPbufferEXT == (GdkGLProc_wglQueryPbufferEXT) -1) - _procs_WGL_EXT_pbuffer.wglQueryPbufferEXT = - (GdkGLProc_wglQueryPbufferEXT) gdk_gl_get_proc_address ("wglQueryPbufferEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglQueryPbufferEXT () - %s", - (_procs_WGL_EXT_pbuffer.wglQueryPbufferEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_pbuffer.wglQueryPbufferEXT); -} - -/* Get WGL_EXT_pbuffer functions */ -GdkGL_WGL_EXT_pbuffer * -gdk_gl_get_WGL_EXT_pbuffer (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_EXT_pbuffer"); - - if (supported) - { - supported &= (gdk_gl_get_wglCreatePbufferEXT () != NULL); - supported &= (gdk_gl_get_wglGetPbufferDCEXT () != NULL); - supported &= (gdk_gl_get_wglReleasePbufferDCEXT () != NULL); - supported &= (gdk_gl_get_wglDestroyPbufferEXT () != NULL); - supported &= (gdk_gl_get_wglQueryPbufferEXT () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_EXT_pbuffer () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_EXT_pbuffer; -} - -/* - * WGL_EXT_pixel_format - */ - -static GdkGL_WGL_EXT_pixel_format _procs_WGL_EXT_pixel_format = { - (GdkGLProc_wglGetPixelFormatAttribivEXT) -1, - (GdkGLProc_wglGetPixelFormatAttribfvEXT) -1, - (GdkGLProc_wglChoosePixelFormatEXT) -1 -}; - -/* wglGetPixelFormatAttribivEXT */ -GdkGLProc -gdk_gl_get_wglGetPixelFormatAttribivEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_pixel_format.wglGetPixelFormatAttribivEXT == (GdkGLProc_wglGetPixelFormatAttribivEXT) -1) - _procs_WGL_EXT_pixel_format.wglGetPixelFormatAttribivEXT = - (GdkGLProc_wglGetPixelFormatAttribivEXT) gdk_gl_get_proc_address ("wglGetPixelFormatAttribivEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetPixelFormatAttribivEXT () - %s", - (_procs_WGL_EXT_pixel_format.wglGetPixelFormatAttribivEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_pixel_format.wglGetPixelFormatAttribivEXT); -} - -/* wglGetPixelFormatAttribfvEXT */ -GdkGLProc -gdk_gl_get_wglGetPixelFormatAttribfvEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_pixel_format.wglGetPixelFormatAttribfvEXT == (GdkGLProc_wglGetPixelFormatAttribfvEXT) -1) - _procs_WGL_EXT_pixel_format.wglGetPixelFormatAttribfvEXT = - (GdkGLProc_wglGetPixelFormatAttribfvEXT) gdk_gl_get_proc_address ("wglGetPixelFormatAttribfvEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetPixelFormatAttribfvEXT () - %s", - (_procs_WGL_EXT_pixel_format.wglGetPixelFormatAttribfvEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_pixel_format.wglGetPixelFormatAttribfvEXT); -} - -/* wglChoosePixelFormatEXT */ -GdkGLProc -gdk_gl_get_wglChoosePixelFormatEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_pixel_format.wglChoosePixelFormatEXT == (GdkGLProc_wglChoosePixelFormatEXT) -1) - _procs_WGL_EXT_pixel_format.wglChoosePixelFormatEXT = - (GdkGLProc_wglChoosePixelFormatEXT) gdk_gl_get_proc_address ("wglChoosePixelFormatEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglChoosePixelFormatEXT () - %s", - (_procs_WGL_EXT_pixel_format.wglChoosePixelFormatEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_pixel_format.wglChoosePixelFormatEXT); -} - -/* Get WGL_EXT_pixel_format functions */ -GdkGL_WGL_EXT_pixel_format * -gdk_gl_get_WGL_EXT_pixel_format (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_EXT_pixel_format"); - - if (supported) - { - supported &= (gdk_gl_get_wglGetPixelFormatAttribivEXT () != NULL); - supported &= (gdk_gl_get_wglGetPixelFormatAttribfvEXT () != NULL); - supported &= (gdk_gl_get_wglChoosePixelFormatEXT () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_EXT_pixel_format () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_EXT_pixel_format; -} - -/* - * WGL_EXT_swap_control - */ - -static GdkGL_WGL_EXT_swap_control _procs_WGL_EXT_swap_control = { - (GdkGLProc_wglSwapIntervalEXT) -1, - (GdkGLProc_wglGetSwapIntervalEXT) -1 -}; - -/* wglSwapIntervalEXT */ -GdkGLProc -gdk_gl_get_wglSwapIntervalEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_swap_control.wglSwapIntervalEXT == (GdkGLProc_wglSwapIntervalEXT) -1) - _procs_WGL_EXT_swap_control.wglSwapIntervalEXT = - (GdkGLProc_wglSwapIntervalEXT) gdk_gl_get_proc_address ("wglSwapIntervalEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglSwapIntervalEXT () - %s", - (_procs_WGL_EXT_swap_control.wglSwapIntervalEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_swap_control.wglSwapIntervalEXT); -} - -/* wglGetSwapIntervalEXT */ -GdkGLProc -gdk_gl_get_wglGetSwapIntervalEXT (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_EXT_swap_control.wglGetSwapIntervalEXT == (GdkGLProc_wglGetSwapIntervalEXT) -1) - _procs_WGL_EXT_swap_control.wglGetSwapIntervalEXT = - (GdkGLProc_wglGetSwapIntervalEXT) gdk_gl_get_proc_address ("wglGetSwapIntervalEXT"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetSwapIntervalEXT () - %s", - (_procs_WGL_EXT_swap_control.wglGetSwapIntervalEXT) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_EXT_swap_control.wglGetSwapIntervalEXT); -} - -/* Get WGL_EXT_swap_control functions */ -GdkGL_WGL_EXT_swap_control * -gdk_gl_get_WGL_EXT_swap_control (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_EXT_swap_control"); - - if (supported) - { - supported &= (gdk_gl_get_wglSwapIntervalEXT () != NULL); - supported &= (gdk_gl_get_wglGetSwapIntervalEXT () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_EXT_swap_control () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_EXT_swap_control; -} - -/* - * WGL_NV_vertex_array_range - */ - -static GdkGL_WGL_NV_vertex_array_range _procs_WGL_NV_vertex_array_range = { - (GdkGLProc_wglAllocateMemoryNV) -1, - (GdkGLProc_wglFreeMemoryNV) -1 -}; - -/* wglAllocateMemoryNV */ -GdkGLProc -gdk_gl_get_wglAllocateMemoryNV (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_NV_vertex_array_range.wglAllocateMemoryNV == (GdkGLProc_wglAllocateMemoryNV) -1) - _procs_WGL_NV_vertex_array_range.wglAllocateMemoryNV = - (GdkGLProc_wglAllocateMemoryNV) gdk_gl_get_proc_address ("wglAllocateMemoryNV"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglAllocateMemoryNV () - %s", - (_procs_WGL_NV_vertex_array_range.wglAllocateMemoryNV) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_NV_vertex_array_range.wglAllocateMemoryNV); -} - -/* wglFreeMemoryNV */ -GdkGLProc -gdk_gl_get_wglFreeMemoryNV (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_NV_vertex_array_range.wglFreeMemoryNV == (GdkGLProc_wglFreeMemoryNV) -1) - _procs_WGL_NV_vertex_array_range.wglFreeMemoryNV = - (GdkGLProc_wglFreeMemoryNV) gdk_gl_get_proc_address ("wglFreeMemoryNV"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglFreeMemoryNV () - %s", - (_procs_WGL_NV_vertex_array_range.wglFreeMemoryNV) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_NV_vertex_array_range.wglFreeMemoryNV); -} - -/* Get WGL_NV_vertex_array_range functions */ -GdkGL_WGL_NV_vertex_array_range * -gdk_gl_get_WGL_NV_vertex_array_range (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_NV_vertex_array_range"); - - if (supported) - { - supported &= (gdk_gl_get_wglAllocateMemoryNV () != NULL); - supported &= (gdk_gl_get_wglFreeMemoryNV () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_NV_vertex_array_range () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_NV_vertex_array_range; -} - -/* - * WGL_OML_sync_control - */ - -static GdkGL_WGL_OML_sync_control _procs_WGL_OML_sync_control = { - (GdkGLProc_wglGetSyncValuesOML) -1, - (GdkGLProc_wglGetMscRateOML) -1, - (GdkGLProc_wglSwapBuffersMscOML) -1, - (GdkGLProc_wglSwapLayerBuffersMscOML) -1, - (GdkGLProc_wglWaitForMscOML) -1, - (GdkGLProc_wglWaitForSbcOML) -1 -}; - -/* wglGetSyncValuesOML */ -GdkGLProc -gdk_gl_get_wglGetSyncValuesOML (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_OML_sync_control.wglGetSyncValuesOML == (GdkGLProc_wglGetSyncValuesOML) -1) - _procs_WGL_OML_sync_control.wglGetSyncValuesOML = - (GdkGLProc_wglGetSyncValuesOML) gdk_gl_get_proc_address ("wglGetSyncValuesOML"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetSyncValuesOML () - %s", - (_procs_WGL_OML_sync_control.wglGetSyncValuesOML) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_OML_sync_control.wglGetSyncValuesOML); -} - -/* wglGetMscRateOML */ -GdkGLProc -gdk_gl_get_wglGetMscRateOML (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_OML_sync_control.wglGetMscRateOML == (GdkGLProc_wglGetMscRateOML) -1) - _procs_WGL_OML_sync_control.wglGetMscRateOML = - (GdkGLProc_wglGetMscRateOML) gdk_gl_get_proc_address ("wglGetMscRateOML"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetMscRateOML () - %s", - (_procs_WGL_OML_sync_control.wglGetMscRateOML) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_OML_sync_control.wglGetMscRateOML); -} - -/* wglSwapBuffersMscOML */ -GdkGLProc -gdk_gl_get_wglSwapBuffersMscOML (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_OML_sync_control.wglSwapBuffersMscOML == (GdkGLProc_wglSwapBuffersMscOML) -1) - _procs_WGL_OML_sync_control.wglSwapBuffersMscOML = - (GdkGLProc_wglSwapBuffersMscOML) gdk_gl_get_proc_address ("wglSwapBuffersMscOML"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglSwapBuffersMscOML () - %s", - (_procs_WGL_OML_sync_control.wglSwapBuffersMscOML) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_OML_sync_control.wglSwapBuffersMscOML); -} - -/* wglSwapLayerBuffersMscOML */ -GdkGLProc -gdk_gl_get_wglSwapLayerBuffersMscOML (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_OML_sync_control.wglSwapLayerBuffersMscOML == (GdkGLProc_wglSwapLayerBuffersMscOML) -1) - _procs_WGL_OML_sync_control.wglSwapLayerBuffersMscOML = - (GdkGLProc_wglSwapLayerBuffersMscOML) gdk_gl_get_proc_address ("wglSwapLayerBuffersMscOML"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglSwapLayerBuffersMscOML () - %s", - (_procs_WGL_OML_sync_control.wglSwapLayerBuffersMscOML) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_OML_sync_control.wglSwapLayerBuffersMscOML); -} - -/* wglWaitForMscOML */ -GdkGLProc -gdk_gl_get_wglWaitForMscOML (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_OML_sync_control.wglWaitForMscOML == (GdkGLProc_wglWaitForMscOML) -1) - _procs_WGL_OML_sync_control.wglWaitForMscOML = - (GdkGLProc_wglWaitForMscOML) gdk_gl_get_proc_address ("wglWaitForMscOML"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglWaitForMscOML () - %s", - (_procs_WGL_OML_sync_control.wglWaitForMscOML) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_OML_sync_control.wglWaitForMscOML); -} - -/* wglWaitForSbcOML */ -GdkGLProc -gdk_gl_get_wglWaitForSbcOML (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_OML_sync_control.wglWaitForSbcOML == (GdkGLProc_wglWaitForSbcOML) -1) - _procs_WGL_OML_sync_control.wglWaitForSbcOML = - (GdkGLProc_wglWaitForSbcOML) gdk_gl_get_proc_address ("wglWaitForSbcOML"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglWaitForSbcOML () - %s", - (_procs_WGL_OML_sync_control.wglWaitForSbcOML) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_OML_sync_control.wglWaitForSbcOML); -} - -/* Get WGL_OML_sync_control functions */ -GdkGL_WGL_OML_sync_control * -gdk_gl_get_WGL_OML_sync_control (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_OML_sync_control"); - - if (supported) - { - supported &= (gdk_gl_get_wglGetSyncValuesOML () != NULL); - supported &= (gdk_gl_get_wglGetMscRateOML () != NULL); - supported &= (gdk_gl_get_wglSwapBuffersMscOML () != NULL); - supported &= (gdk_gl_get_wglSwapLayerBuffersMscOML () != NULL); - supported &= (gdk_gl_get_wglWaitForMscOML () != NULL); - supported &= (gdk_gl_get_wglWaitForSbcOML () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_OML_sync_control () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_OML_sync_control; -} - -/* - * WGL_I3D_digital_video_control - */ - -static GdkGL_WGL_I3D_digital_video_control _procs_WGL_I3D_digital_video_control = { - (GdkGLProc_wglGetDigitalVideoParametersI3D) -1, - (GdkGLProc_wglSetDigitalVideoParametersI3D) -1 -}; - -/* wglGetDigitalVideoParametersI3D */ -GdkGLProc -gdk_gl_get_wglGetDigitalVideoParametersI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_digital_video_control.wglGetDigitalVideoParametersI3D == (GdkGLProc_wglGetDigitalVideoParametersI3D) -1) - _procs_WGL_I3D_digital_video_control.wglGetDigitalVideoParametersI3D = - (GdkGLProc_wglGetDigitalVideoParametersI3D) gdk_gl_get_proc_address ("wglGetDigitalVideoParametersI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetDigitalVideoParametersI3D () - %s", - (_procs_WGL_I3D_digital_video_control.wglGetDigitalVideoParametersI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_digital_video_control.wglGetDigitalVideoParametersI3D); -} - -/* wglSetDigitalVideoParametersI3D */ -GdkGLProc -gdk_gl_get_wglSetDigitalVideoParametersI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_digital_video_control.wglSetDigitalVideoParametersI3D == (GdkGLProc_wglSetDigitalVideoParametersI3D) -1) - _procs_WGL_I3D_digital_video_control.wglSetDigitalVideoParametersI3D = - (GdkGLProc_wglSetDigitalVideoParametersI3D) gdk_gl_get_proc_address ("wglSetDigitalVideoParametersI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglSetDigitalVideoParametersI3D () - %s", - (_procs_WGL_I3D_digital_video_control.wglSetDigitalVideoParametersI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_digital_video_control.wglSetDigitalVideoParametersI3D); -} - -/* Get WGL_I3D_digital_video_control functions */ -GdkGL_WGL_I3D_digital_video_control * -gdk_gl_get_WGL_I3D_digital_video_control (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_I3D_digital_video_control"); - - if (supported) - { - supported &= (gdk_gl_get_wglGetDigitalVideoParametersI3D () != NULL); - supported &= (gdk_gl_get_wglSetDigitalVideoParametersI3D () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_I3D_digital_video_control () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_I3D_digital_video_control; -} - -/* - * WGL_I3D_gamma - */ - -static GdkGL_WGL_I3D_gamma _procs_WGL_I3D_gamma = { - (GdkGLProc_wglGetGammaTableParametersI3D) -1, - (GdkGLProc_wglSetGammaTableParametersI3D) -1, - (GdkGLProc_wglGetGammaTableI3D) -1, - (GdkGLProc_wglSetGammaTableI3D) -1 -}; - -/* wglGetGammaTableParametersI3D */ -GdkGLProc -gdk_gl_get_wglGetGammaTableParametersI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_gamma.wglGetGammaTableParametersI3D == (GdkGLProc_wglGetGammaTableParametersI3D) -1) - _procs_WGL_I3D_gamma.wglGetGammaTableParametersI3D = - (GdkGLProc_wglGetGammaTableParametersI3D) gdk_gl_get_proc_address ("wglGetGammaTableParametersI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetGammaTableParametersI3D () - %s", - (_procs_WGL_I3D_gamma.wglGetGammaTableParametersI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_gamma.wglGetGammaTableParametersI3D); -} - -/* wglSetGammaTableParametersI3D */ -GdkGLProc -gdk_gl_get_wglSetGammaTableParametersI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_gamma.wglSetGammaTableParametersI3D == (GdkGLProc_wglSetGammaTableParametersI3D) -1) - _procs_WGL_I3D_gamma.wglSetGammaTableParametersI3D = - (GdkGLProc_wglSetGammaTableParametersI3D) gdk_gl_get_proc_address ("wglSetGammaTableParametersI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglSetGammaTableParametersI3D () - %s", - (_procs_WGL_I3D_gamma.wglSetGammaTableParametersI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_gamma.wglSetGammaTableParametersI3D); -} - -/* wglGetGammaTableI3D */ -GdkGLProc -gdk_gl_get_wglGetGammaTableI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_gamma.wglGetGammaTableI3D == (GdkGLProc_wglGetGammaTableI3D) -1) - _procs_WGL_I3D_gamma.wglGetGammaTableI3D = - (GdkGLProc_wglGetGammaTableI3D) gdk_gl_get_proc_address ("wglGetGammaTableI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetGammaTableI3D () - %s", - (_procs_WGL_I3D_gamma.wglGetGammaTableI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_gamma.wglGetGammaTableI3D); -} - -/* wglSetGammaTableI3D */ -GdkGLProc -gdk_gl_get_wglSetGammaTableI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_gamma.wglSetGammaTableI3D == (GdkGLProc_wglSetGammaTableI3D) -1) - _procs_WGL_I3D_gamma.wglSetGammaTableI3D = - (GdkGLProc_wglSetGammaTableI3D) gdk_gl_get_proc_address ("wglSetGammaTableI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglSetGammaTableI3D () - %s", - (_procs_WGL_I3D_gamma.wglSetGammaTableI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_gamma.wglSetGammaTableI3D); -} - -/* Get WGL_I3D_gamma functions */ -GdkGL_WGL_I3D_gamma * -gdk_gl_get_WGL_I3D_gamma (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_I3D_gamma"); - - if (supported) - { - supported &= (gdk_gl_get_wglGetGammaTableParametersI3D () != NULL); - supported &= (gdk_gl_get_wglSetGammaTableParametersI3D () != NULL); - supported &= (gdk_gl_get_wglGetGammaTableI3D () != NULL); - supported &= (gdk_gl_get_wglSetGammaTableI3D () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_I3D_gamma () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_I3D_gamma; -} - -/* - * WGL_I3D_genlock - */ - -static GdkGL_WGL_I3D_genlock _procs_WGL_I3D_genlock = { - (GdkGLProc_wglEnableGenlockI3D) -1, - (GdkGLProc_wglDisableGenlockI3D) -1, - (GdkGLProc_wglIsEnabledGenlockI3D) -1, - (GdkGLProc_wglGenlockSourceI3D) -1, - (GdkGLProc_wglGetGenlockSourceI3D) -1, - (GdkGLProc_wglGenlockSourceEdgeI3D) -1, - (GdkGLProc_wglGetGenlockSourceEdgeI3D) -1, - (GdkGLProc_wglGenlockSampleRateI3D) -1, - (GdkGLProc_wglGetGenlockSampleRateI3D) -1, - (GdkGLProc_wglGenlockSourceDelayI3D) -1, - (GdkGLProc_wglGetGenlockSourceDelayI3D) -1, - (GdkGLProc_wglQueryGenlockMaxSourceDelayI3D) -1 -}; - -/* wglEnableGenlockI3D */ -GdkGLProc -gdk_gl_get_wglEnableGenlockI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglEnableGenlockI3D == (GdkGLProc_wglEnableGenlockI3D) -1) - _procs_WGL_I3D_genlock.wglEnableGenlockI3D = - (GdkGLProc_wglEnableGenlockI3D) gdk_gl_get_proc_address ("wglEnableGenlockI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglEnableGenlockI3D () - %s", - (_procs_WGL_I3D_genlock.wglEnableGenlockI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglEnableGenlockI3D); -} - -/* wglDisableGenlockI3D */ -GdkGLProc -gdk_gl_get_wglDisableGenlockI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglDisableGenlockI3D == (GdkGLProc_wglDisableGenlockI3D) -1) - _procs_WGL_I3D_genlock.wglDisableGenlockI3D = - (GdkGLProc_wglDisableGenlockI3D) gdk_gl_get_proc_address ("wglDisableGenlockI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglDisableGenlockI3D () - %s", - (_procs_WGL_I3D_genlock.wglDisableGenlockI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglDisableGenlockI3D); -} - -/* wglIsEnabledGenlockI3D */ -GdkGLProc -gdk_gl_get_wglIsEnabledGenlockI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglIsEnabledGenlockI3D == (GdkGLProc_wglIsEnabledGenlockI3D) -1) - _procs_WGL_I3D_genlock.wglIsEnabledGenlockI3D = - (GdkGLProc_wglIsEnabledGenlockI3D) gdk_gl_get_proc_address ("wglIsEnabledGenlockI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglIsEnabledGenlockI3D () - %s", - (_procs_WGL_I3D_genlock.wglIsEnabledGenlockI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglIsEnabledGenlockI3D); -} - -/* wglGenlockSourceI3D */ -GdkGLProc -gdk_gl_get_wglGenlockSourceI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglGenlockSourceI3D == (GdkGLProc_wglGenlockSourceI3D) -1) - _procs_WGL_I3D_genlock.wglGenlockSourceI3D = - (GdkGLProc_wglGenlockSourceI3D) gdk_gl_get_proc_address ("wglGenlockSourceI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGenlockSourceI3D () - %s", - (_procs_WGL_I3D_genlock.wglGenlockSourceI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglGenlockSourceI3D); -} - -/* wglGetGenlockSourceI3D */ -GdkGLProc -gdk_gl_get_wglGetGenlockSourceI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglGetGenlockSourceI3D == (GdkGLProc_wglGetGenlockSourceI3D) -1) - _procs_WGL_I3D_genlock.wglGetGenlockSourceI3D = - (GdkGLProc_wglGetGenlockSourceI3D) gdk_gl_get_proc_address ("wglGetGenlockSourceI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetGenlockSourceI3D () - %s", - (_procs_WGL_I3D_genlock.wglGetGenlockSourceI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglGetGenlockSourceI3D); -} - -/* wglGenlockSourceEdgeI3D */ -GdkGLProc -gdk_gl_get_wglGenlockSourceEdgeI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglGenlockSourceEdgeI3D == (GdkGLProc_wglGenlockSourceEdgeI3D) -1) - _procs_WGL_I3D_genlock.wglGenlockSourceEdgeI3D = - (GdkGLProc_wglGenlockSourceEdgeI3D) gdk_gl_get_proc_address ("wglGenlockSourceEdgeI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGenlockSourceEdgeI3D () - %s", - (_procs_WGL_I3D_genlock.wglGenlockSourceEdgeI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglGenlockSourceEdgeI3D); -} - -/* wglGetGenlockSourceEdgeI3D */ -GdkGLProc -gdk_gl_get_wglGetGenlockSourceEdgeI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglGetGenlockSourceEdgeI3D == (GdkGLProc_wglGetGenlockSourceEdgeI3D) -1) - _procs_WGL_I3D_genlock.wglGetGenlockSourceEdgeI3D = - (GdkGLProc_wglGetGenlockSourceEdgeI3D) gdk_gl_get_proc_address ("wglGetGenlockSourceEdgeI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetGenlockSourceEdgeI3D () - %s", - (_procs_WGL_I3D_genlock.wglGetGenlockSourceEdgeI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglGetGenlockSourceEdgeI3D); -} - -/* wglGenlockSampleRateI3D */ -GdkGLProc -gdk_gl_get_wglGenlockSampleRateI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglGenlockSampleRateI3D == (GdkGLProc_wglGenlockSampleRateI3D) -1) - _procs_WGL_I3D_genlock.wglGenlockSampleRateI3D = - (GdkGLProc_wglGenlockSampleRateI3D) gdk_gl_get_proc_address ("wglGenlockSampleRateI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGenlockSampleRateI3D () - %s", - (_procs_WGL_I3D_genlock.wglGenlockSampleRateI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglGenlockSampleRateI3D); -} - -/* wglGetGenlockSampleRateI3D */ -GdkGLProc -gdk_gl_get_wglGetGenlockSampleRateI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglGetGenlockSampleRateI3D == (GdkGLProc_wglGetGenlockSampleRateI3D) -1) - _procs_WGL_I3D_genlock.wglGetGenlockSampleRateI3D = - (GdkGLProc_wglGetGenlockSampleRateI3D) gdk_gl_get_proc_address ("wglGetGenlockSampleRateI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetGenlockSampleRateI3D () - %s", - (_procs_WGL_I3D_genlock.wglGetGenlockSampleRateI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglGetGenlockSampleRateI3D); -} - -/* wglGenlockSourceDelayI3D */ -GdkGLProc -gdk_gl_get_wglGenlockSourceDelayI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglGenlockSourceDelayI3D == (GdkGLProc_wglGenlockSourceDelayI3D) -1) - _procs_WGL_I3D_genlock.wglGenlockSourceDelayI3D = - (GdkGLProc_wglGenlockSourceDelayI3D) gdk_gl_get_proc_address ("wglGenlockSourceDelayI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGenlockSourceDelayI3D () - %s", - (_procs_WGL_I3D_genlock.wglGenlockSourceDelayI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglGenlockSourceDelayI3D); -} - -/* wglGetGenlockSourceDelayI3D */ -GdkGLProc -gdk_gl_get_wglGetGenlockSourceDelayI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglGetGenlockSourceDelayI3D == (GdkGLProc_wglGetGenlockSourceDelayI3D) -1) - _procs_WGL_I3D_genlock.wglGetGenlockSourceDelayI3D = - (GdkGLProc_wglGetGenlockSourceDelayI3D) gdk_gl_get_proc_address ("wglGetGenlockSourceDelayI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetGenlockSourceDelayI3D () - %s", - (_procs_WGL_I3D_genlock.wglGetGenlockSourceDelayI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglGetGenlockSourceDelayI3D); -} - -/* wglQueryGenlockMaxSourceDelayI3D */ -GdkGLProc -gdk_gl_get_wglQueryGenlockMaxSourceDelayI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_genlock.wglQueryGenlockMaxSourceDelayI3D == (GdkGLProc_wglQueryGenlockMaxSourceDelayI3D) -1) - _procs_WGL_I3D_genlock.wglQueryGenlockMaxSourceDelayI3D = - (GdkGLProc_wglQueryGenlockMaxSourceDelayI3D) gdk_gl_get_proc_address ("wglQueryGenlockMaxSourceDelayI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglQueryGenlockMaxSourceDelayI3D () - %s", - (_procs_WGL_I3D_genlock.wglQueryGenlockMaxSourceDelayI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_genlock.wglQueryGenlockMaxSourceDelayI3D); -} - -/* Get WGL_I3D_genlock functions */ -GdkGL_WGL_I3D_genlock * -gdk_gl_get_WGL_I3D_genlock (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_I3D_genlock"); - - if (supported) - { - supported &= (gdk_gl_get_wglEnableGenlockI3D () != NULL); - supported &= (gdk_gl_get_wglDisableGenlockI3D () != NULL); - supported &= (gdk_gl_get_wglIsEnabledGenlockI3D () != NULL); - supported &= (gdk_gl_get_wglGenlockSourceI3D () != NULL); - supported &= (gdk_gl_get_wglGetGenlockSourceI3D () != NULL); - supported &= (gdk_gl_get_wglGenlockSourceEdgeI3D () != NULL); - supported &= (gdk_gl_get_wglGetGenlockSourceEdgeI3D () != NULL); - supported &= (gdk_gl_get_wglGenlockSampleRateI3D () != NULL); - supported &= (gdk_gl_get_wglGetGenlockSampleRateI3D () != NULL); - supported &= (gdk_gl_get_wglGenlockSourceDelayI3D () != NULL); - supported &= (gdk_gl_get_wglGetGenlockSourceDelayI3D () != NULL); - supported &= (gdk_gl_get_wglQueryGenlockMaxSourceDelayI3D () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_I3D_genlock () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_I3D_genlock; -} - -/* - * WGL_I3D_image_buffer - */ - -static GdkGL_WGL_I3D_image_buffer _procs_WGL_I3D_image_buffer = { - (GdkGLProc_wglCreateImageBufferI3D) -1, - (GdkGLProc_wglDestroyImageBufferI3D) -1, - (GdkGLProc_wglAssociateImageBufferEventsI3D) -1, - (GdkGLProc_wglReleaseImageBufferEventsI3D) -1 -}; - -/* wglCreateImageBufferI3D */ -GdkGLProc -gdk_gl_get_wglCreateImageBufferI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_image_buffer.wglCreateImageBufferI3D == (GdkGLProc_wglCreateImageBufferI3D) -1) - _procs_WGL_I3D_image_buffer.wglCreateImageBufferI3D = - (GdkGLProc_wglCreateImageBufferI3D) gdk_gl_get_proc_address ("wglCreateImageBufferI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglCreateImageBufferI3D () - %s", - (_procs_WGL_I3D_image_buffer.wglCreateImageBufferI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_image_buffer.wglCreateImageBufferI3D); -} - -/* wglDestroyImageBufferI3D */ -GdkGLProc -gdk_gl_get_wglDestroyImageBufferI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_image_buffer.wglDestroyImageBufferI3D == (GdkGLProc_wglDestroyImageBufferI3D) -1) - _procs_WGL_I3D_image_buffer.wglDestroyImageBufferI3D = - (GdkGLProc_wglDestroyImageBufferI3D) gdk_gl_get_proc_address ("wglDestroyImageBufferI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglDestroyImageBufferI3D () - %s", - (_procs_WGL_I3D_image_buffer.wglDestroyImageBufferI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_image_buffer.wglDestroyImageBufferI3D); -} - -/* wglAssociateImageBufferEventsI3D */ -GdkGLProc -gdk_gl_get_wglAssociateImageBufferEventsI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_image_buffer.wglAssociateImageBufferEventsI3D == (GdkGLProc_wglAssociateImageBufferEventsI3D) -1) - _procs_WGL_I3D_image_buffer.wglAssociateImageBufferEventsI3D = - (GdkGLProc_wglAssociateImageBufferEventsI3D) gdk_gl_get_proc_address ("wglAssociateImageBufferEventsI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglAssociateImageBufferEventsI3D () - %s", - (_procs_WGL_I3D_image_buffer.wglAssociateImageBufferEventsI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_image_buffer.wglAssociateImageBufferEventsI3D); -} - -/* wglReleaseImageBufferEventsI3D */ -GdkGLProc -gdk_gl_get_wglReleaseImageBufferEventsI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_image_buffer.wglReleaseImageBufferEventsI3D == (GdkGLProc_wglReleaseImageBufferEventsI3D) -1) - _procs_WGL_I3D_image_buffer.wglReleaseImageBufferEventsI3D = - (GdkGLProc_wglReleaseImageBufferEventsI3D) gdk_gl_get_proc_address ("wglReleaseImageBufferEventsI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglReleaseImageBufferEventsI3D () - %s", - (_procs_WGL_I3D_image_buffer.wglReleaseImageBufferEventsI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_image_buffer.wglReleaseImageBufferEventsI3D); -} - -/* Get WGL_I3D_image_buffer functions */ -GdkGL_WGL_I3D_image_buffer * -gdk_gl_get_WGL_I3D_image_buffer (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_I3D_image_buffer"); - - if (supported) - { - supported &= (gdk_gl_get_wglCreateImageBufferI3D () != NULL); - supported &= (gdk_gl_get_wglDestroyImageBufferI3D () != NULL); - supported &= (gdk_gl_get_wglAssociateImageBufferEventsI3D () != NULL); - supported &= (gdk_gl_get_wglReleaseImageBufferEventsI3D () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_I3D_image_buffer () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_I3D_image_buffer; -} - -/* - * WGL_I3D_swap_frame_lock - */ - -static GdkGL_WGL_I3D_swap_frame_lock _procs_WGL_I3D_swap_frame_lock = { - (GdkGLProc_wglEnableFrameLockI3D) -1, - (GdkGLProc_wglDisableFrameLockI3D) -1, - (GdkGLProc_wglIsEnabledFrameLockI3D) -1, - (GdkGLProc_wglQueryFrameLockMasterI3D) -1 -}; - -/* wglEnableFrameLockI3D */ -GdkGLProc -gdk_gl_get_wglEnableFrameLockI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_swap_frame_lock.wglEnableFrameLockI3D == (GdkGLProc_wglEnableFrameLockI3D) -1) - _procs_WGL_I3D_swap_frame_lock.wglEnableFrameLockI3D = - (GdkGLProc_wglEnableFrameLockI3D) gdk_gl_get_proc_address ("wglEnableFrameLockI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglEnableFrameLockI3D () - %s", - (_procs_WGL_I3D_swap_frame_lock.wglEnableFrameLockI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_swap_frame_lock.wglEnableFrameLockI3D); -} - -/* wglDisableFrameLockI3D */ -GdkGLProc -gdk_gl_get_wglDisableFrameLockI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_swap_frame_lock.wglDisableFrameLockI3D == (GdkGLProc_wglDisableFrameLockI3D) -1) - _procs_WGL_I3D_swap_frame_lock.wglDisableFrameLockI3D = - (GdkGLProc_wglDisableFrameLockI3D) gdk_gl_get_proc_address ("wglDisableFrameLockI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglDisableFrameLockI3D () - %s", - (_procs_WGL_I3D_swap_frame_lock.wglDisableFrameLockI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_swap_frame_lock.wglDisableFrameLockI3D); -} - -/* wglIsEnabledFrameLockI3D */ -GdkGLProc -gdk_gl_get_wglIsEnabledFrameLockI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_swap_frame_lock.wglIsEnabledFrameLockI3D == (GdkGLProc_wglIsEnabledFrameLockI3D) -1) - _procs_WGL_I3D_swap_frame_lock.wglIsEnabledFrameLockI3D = - (GdkGLProc_wglIsEnabledFrameLockI3D) gdk_gl_get_proc_address ("wglIsEnabledFrameLockI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglIsEnabledFrameLockI3D () - %s", - (_procs_WGL_I3D_swap_frame_lock.wglIsEnabledFrameLockI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_swap_frame_lock.wglIsEnabledFrameLockI3D); -} - -/* wglQueryFrameLockMasterI3D */ -GdkGLProc -gdk_gl_get_wglQueryFrameLockMasterI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_swap_frame_lock.wglQueryFrameLockMasterI3D == (GdkGLProc_wglQueryFrameLockMasterI3D) -1) - _procs_WGL_I3D_swap_frame_lock.wglQueryFrameLockMasterI3D = - (GdkGLProc_wglQueryFrameLockMasterI3D) gdk_gl_get_proc_address ("wglQueryFrameLockMasterI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglQueryFrameLockMasterI3D () - %s", - (_procs_WGL_I3D_swap_frame_lock.wglQueryFrameLockMasterI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_swap_frame_lock.wglQueryFrameLockMasterI3D); -} - -/* Get WGL_I3D_swap_frame_lock functions */ -GdkGL_WGL_I3D_swap_frame_lock * -gdk_gl_get_WGL_I3D_swap_frame_lock (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_I3D_swap_frame_lock"); - - if (supported) - { - supported &= (gdk_gl_get_wglEnableFrameLockI3D () != NULL); - supported &= (gdk_gl_get_wglDisableFrameLockI3D () != NULL); - supported &= (gdk_gl_get_wglIsEnabledFrameLockI3D () != NULL); - supported &= (gdk_gl_get_wglQueryFrameLockMasterI3D () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_I3D_swap_frame_lock () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_I3D_swap_frame_lock; -} - -/* - * WGL_I3D_swap_frame_usage - */ - -static GdkGL_WGL_I3D_swap_frame_usage _procs_WGL_I3D_swap_frame_usage = { - (GdkGLProc_wglGetFrameUsageI3D) -1, - (GdkGLProc_wglBeginFrameTrackingI3D) -1, - (GdkGLProc_wglEndFrameTrackingI3D) -1, - (GdkGLProc_wglQueryFrameTrackingI3D) -1 -}; - -/* wglGetFrameUsageI3D */ -GdkGLProc -gdk_gl_get_wglGetFrameUsageI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_swap_frame_usage.wglGetFrameUsageI3D == (GdkGLProc_wglGetFrameUsageI3D) -1) - _procs_WGL_I3D_swap_frame_usage.wglGetFrameUsageI3D = - (GdkGLProc_wglGetFrameUsageI3D) gdk_gl_get_proc_address ("wglGetFrameUsageI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglGetFrameUsageI3D () - %s", - (_procs_WGL_I3D_swap_frame_usage.wglGetFrameUsageI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_swap_frame_usage.wglGetFrameUsageI3D); -} - -/* wglBeginFrameTrackingI3D */ -GdkGLProc -gdk_gl_get_wglBeginFrameTrackingI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_swap_frame_usage.wglBeginFrameTrackingI3D == (GdkGLProc_wglBeginFrameTrackingI3D) -1) - _procs_WGL_I3D_swap_frame_usage.wglBeginFrameTrackingI3D = - (GdkGLProc_wglBeginFrameTrackingI3D) gdk_gl_get_proc_address ("wglBeginFrameTrackingI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglBeginFrameTrackingI3D () - %s", - (_procs_WGL_I3D_swap_frame_usage.wglBeginFrameTrackingI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_swap_frame_usage.wglBeginFrameTrackingI3D); -} - -/* wglEndFrameTrackingI3D */ -GdkGLProc -gdk_gl_get_wglEndFrameTrackingI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_swap_frame_usage.wglEndFrameTrackingI3D == (GdkGLProc_wglEndFrameTrackingI3D) -1) - _procs_WGL_I3D_swap_frame_usage.wglEndFrameTrackingI3D = - (GdkGLProc_wglEndFrameTrackingI3D) gdk_gl_get_proc_address ("wglEndFrameTrackingI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglEndFrameTrackingI3D () - %s", - (_procs_WGL_I3D_swap_frame_usage.wglEndFrameTrackingI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_swap_frame_usage.wglEndFrameTrackingI3D); -} - -/* wglQueryFrameTrackingI3D */ -GdkGLProc -gdk_gl_get_wglQueryFrameTrackingI3D (void) -{ - if (wglGetCurrentContext () == NULL) - return NULL; - - if (_procs_WGL_I3D_swap_frame_usage.wglQueryFrameTrackingI3D == (GdkGLProc_wglQueryFrameTrackingI3D) -1) - _procs_WGL_I3D_swap_frame_usage.wglQueryFrameTrackingI3D = - (GdkGLProc_wglQueryFrameTrackingI3D) gdk_gl_get_proc_address ("wglQueryFrameTrackingI3D"); - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_wglQueryFrameTrackingI3D () - %s", - (_procs_WGL_I3D_swap_frame_usage.wglQueryFrameTrackingI3D) ? "supported" : "not supported")); - - return (GdkGLProc) (_procs_WGL_I3D_swap_frame_usage.wglQueryFrameTrackingI3D); -} - -/* Get WGL_I3D_swap_frame_usage functions */ -GdkGL_WGL_I3D_swap_frame_usage * -gdk_gl_get_WGL_I3D_swap_frame_usage (GdkGLConfig *glconfig) -{ - static gint supported = -1; - - if (wglGetCurrentContext () == NULL) - return NULL; - - if (supported == -1) - { - supported = gdk_win32_gl_query_wgl_extension (glconfig, "WGL_I3D_swap_frame_usage"); - - if (supported) - { - supported &= (gdk_gl_get_wglGetFrameUsageI3D () != NULL); - supported &= (gdk_gl_get_wglBeginFrameTrackingI3D () != NULL); - supported &= (gdk_gl_get_wglEndFrameTrackingI3D () != NULL); - supported &= (gdk_gl_get_wglQueryFrameTrackingI3D () != NULL); - } - } - - GDK_GL_NOTE (MISC, - g_message (" - gdk_gl_get_WGL_I3D_swap_frame_usage () - %s", - (supported) ? "supported" : "not supported")); - - if (!supported) - return NULL; - - return &_procs_WGL_I3D_swap_frame_usage; -} - diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwglext.h b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwglext.h deleted file mode 100644 index b69a720e..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwglext.h +++ /dev/null @@ -1,839 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -/* - * This is a generated file. Please modify "gen-gdkglwglext-h.pl". - */ - -#ifndef __GDK_GL_WGLEXT_H__ -#define __GDK_GL_WGLEXT_H__ - -#include <glib.h> - -#ifdef G_OS_WIN32 -#define WIN32_LEAN_AND_MEAN 1 -#include <windows.h> -#endif - -#include <GL/gl.h> - -#include <gdk/gdkgldefs.h> -#include <gdk/gdkglquery.h> -#include <gdk/gdkglconfig.h> - -#undef __wglext_h_ -#undef WGL_WGLEXT_VERSION -#include <gdk/glext/wglext.h> -#include <gdk/glext/wglext-extra.h> - -G_BEGIN_DECLS - -/* - * WGL_ARB_buffer_region - */ - -/* wglCreateBufferRegionARB */ -typedef HANDLE (WINAPI * GdkGLProc_wglCreateBufferRegionARB) (HDC hDC, int iLayerPlane, UINT uType); -GdkGLProc gdk_gl_get_wglCreateBufferRegionARB (void); -#define gdk_gl_wglCreateBufferRegionARB(proc, hDC, iLayerPlane, uType) \ - ( ((GdkGLProc_wglCreateBufferRegionARB) (proc)) (hDC, iLayerPlane, uType) ) - -/* wglDeleteBufferRegionARB */ -typedef VOID (WINAPI * GdkGLProc_wglDeleteBufferRegionARB) (HANDLE hRegion); -GdkGLProc gdk_gl_get_wglDeleteBufferRegionARB (void); -#define gdk_gl_wglDeleteBufferRegionARB(proc, hRegion) \ - ( ((GdkGLProc_wglDeleteBufferRegionARB) (proc)) (hRegion) ) - -/* wglSaveBufferRegionARB */ -typedef BOOL (WINAPI * GdkGLProc_wglSaveBufferRegionARB) (HANDLE hRegion, int x, int y, int width, int height); -GdkGLProc gdk_gl_get_wglSaveBufferRegionARB (void); -#define gdk_gl_wglSaveBufferRegionARB(proc, hRegion, x, y, width, height) \ - ( ((GdkGLProc_wglSaveBufferRegionARB) (proc)) (hRegion, x, y, width, height) ) - -/* wglRestoreBufferRegionARB */ -typedef BOOL (WINAPI * GdkGLProc_wglRestoreBufferRegionARB) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); -GdkGLProc gdk_gl_get_wglRestoreBufferRegionARB (void); -#define gdk_gl_wglRestoreBufferRegionARB(proc, hRegion, x, y, width, height, xSrc, ySrc) \ - ( ((GdkGLProc_wglRestoreBufferRegionARB) (proc)) (hRegion, x, y, width, height, xSrc, ySrc) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_ARB_buffer_region GdkGL_WGL_ARB_buffer_region; - -struct _GdkGL_WGL_ARB_buffer_region -{ - GdkGLProc_wglCreateBufferRegionARB wglCreateBufferRegionARB; - GdkGLProc_wglDeleteBufferRegionARB wglDeleteBufferRegionARB; - GdkGLProc_wglSaveBufferRegionARB wglSaveBufferRegionARB; - GdkGLProc_wglRestoreBufferRegionARB wglRestoreBufferRegionARB; -}; - -GdkGL_WGL_ARB_buffer_region *gdk_gl_get_WGL_ARB_buffer_region (GdkGLConfig *glconfig); - -/* - * WGL_ARB_extensions_string - */ - -/* wglGetExtensionsStringARB */ -typedef const char * (WINAPI * GdkGLProc_wglGetExtensionsStringARB) (HDC hdc); -GdkGLProc gdk_gl_get_wglGetExtensionsStringARB (void); -#define gdk_gl_wglGetExtensionsStringARB(proc, hdc) \ - ( ((GdkGLProc_wglGetExtensionsStringARB) (proc)) (hdc) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_ARB_extensions_string GdkGL_WGL_ARB_extensions_string; - -struct _GdkGL_WGL_ARB_extensions_string -{ - GdkGLProc_wglGetExtensionsStringARB wglGetExtensionsStringARB; -}; - -GdkGL_WGL_ARB_extensions_string *gdk_gl_get_WGL_ARB_extensions_string (GdkGLConfig *glconfig); - -/* - * WGL_ARB_pixel_format - */ - -/* wglGetPixelFormatAttribivARB */ -typedef BOOL (WINAPI * GdkGLProc_wglGetPixelFormatAttribivARB) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues); -GdkGLProc gdk_gl_get_wglGetPixelFormatAttribivARB (void); -#define gdk_gl_wglGetPixelFormatAttribivARB(proc, hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) \ - ( ((GdkGLProc_wglGetPixelFormatAttribivARB) (proc)) (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) ) - -/* wglGetPixelFormatAttribfvARB */ -typedef BOOL (WINAPI * GdkGLProc_wglGetPixelFormatAttribfvARB) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues); -GdkGLProc gdk_gl_get_wglGetPixelFormatAttribfvARB (void); -#define gdk_gl_wglGetPixelFormatAttribfvARB(proc, hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) \ - ( ((GdkGLProc_wglGetPixelFormatAttribfvARB) (proc)) (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) ) - -/* wglChoosePixelFormatARB */ -typedef BOOL (WINAPI * GdkGLProc_wglChoosePixelFormatARB) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); -GdkGLProc gdk_gl_get_wglChoosePixelFormatARB (void); -#define gdk_gl_wglChoosePixelFormatARB(proc, hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) \ - ( ((GdkGLProc_wglChoosePixelFormatARB) (proc)) (hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_ARB_pixel_format GdkGL_WGL_ARB_pixel_format; - -struct _GdkGL_WGL_ARB_pixel_format -{ - GdkGLProc_wglGetPixelFormatAttribivARB wglGetPixelFormatAttribivARB; - GdkGLProc_wglGetPixelFormatAttribfvARB wglGetPixelFormatAttribfvARB; - GdkGLProc_wglChoosePixelFormatARB wglChoosePixelFormatARB; -}; - -GdkGL_WGL_ARB_pixel_format *gdk_gl_get_WGL_ARB_pixel_format (GdkGLConfig *glconfig); - -/* - * WGL_ARB_make_current_read - */ - -/* wglMakeContextCurrentARB */ -typedef BOOL (WINAPI * GdkGLProc_wglMakeContextCurrentARB) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); -GdkGLProc gdk_gl_get_wglMakeContextCurrentARB (void); -#define gdk_gl_wglMakeContextCurrentARB(proc, hDrawDC, hReadDC, hglrc) \ - ( ((GdkGLProc_wglMakeContextCurrentARB) (proc)) (hDrawDC, hReadDC, hglrc) ) - -/* wglGetCurrentReadDCARB */ -typedef HDC (WINAPI * GdkGLProc_wglGetCurrentReadDCARB) (void); -GdkGLProc gdk_gl_get_wglGetCurrentReadDCARB (void); -#define gdk_gl_wglGetCurrentReadDCARB(proc) \ - ( ((GdkGLProc_wglGetCurrentReadDCARB) (proc)) () ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_ARB_make_current_read GdkGL_WGL_ARB_make_current_read; - -struct _GdkGL_WGL_ARB_make_current_read -{ - GdkGLProc_wglMakeContextCurrentARB wglMakeContextCurrentARB; - GdkGLProc_wglGetCurrentReadDCARB wglGetCurrentReadDCARB; -}; - -GdkGL_WGL_ARB_make_current_read *gdk_gl_get_WGL_ARB_make_current_read (GdkGLConfig *glconfig); - -/* - * WGL_ARB_pbuffer - */ - -/* wglCreatePbufferARB */ -typedef HPBUFFERARB (WINAPI * GdkGLProc_wglCreatePbufferARB) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); -GdkGLProc gdk_gl_get_wglCreatePbufferARB (void); -#define gdk_gl_wglCreatePbufferARB(proc, hDC, iPixelFormat, iWidth, iHeight, piAttribList) \ - ( ((GdkGLProc_wglCreatePbufferARB) (proc)) (hDC, iPixelFormat, iWidth, iHeight, piAttribList) ) - -/* wglGetPbufferDCARB */ -typedef HDC (WINAPI * GdkGLProc_wglGetPbufferDCARB) (HPBUFFERARB hPbuffer); -GdkGLProc gdk_gl_get_wglGetPbufferDCARB (void); -#define gdk_gl_wglGetPbufferDCARB(proc, hPbuffer) \ - ( ((GdkGLProc_wglGetPbufferDCARB) (proc)) (hPbuffer) ) - -/* wglReleasePbufferDCARB */ -typedef int (WINAPI * GdkGLProc_wglReleasePbufferDCARB) (HPBUFFERARB hPbuffer, HDC hDC); -GdkGLProc gdk_gl_get_wglReleasePbufferDCARB (void); -#define gdk_gl_wglReleasePbufferDCARB(proc, hPbuffer, hDC) \ - ( ((GdkGLProc_wglReleasePbufferDCARB) (proc)) (hPbuffer, hDC) ) - -/* wglDestroyPbufferARB */ -typedef BOOL (WINAPI * GdkGLProc_wglDestroyPbufferARB) (HPBUFFERARB hPbuffer); -GdkGLProc gdk_gl_get_wglDestroyPbufferARB (void); -#define gdk_gl_wglDestroyPbufferARB(proc, hPbuffer) \ - ( ((GdkGLProc_wglDestroyPbufferARB) (proc)) (hPbuffer) ) - -/* wglQueryPbufferARB */ -typedef BOOL (WINAPI * GdkGLProc_wglQueryPbufferARB) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue); -GdkGLProc gdk_gl_get_wglQueryPbufferARB (void); -#define gdk_gl_wglQueryPbufferARB(proc, hPbuffer, iAttribute, piValue) \ - ( ((GdkGLProc_wglQueryPbufferARB) (proc)) (hPbuffer, iAttribute, piValue) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_ARB_pbuffer GdkGL_WGL_ARB_pbuffer; - -struct _GdkGL_WGL_ARB_pbuffer -{ - GdkGLProc_wglCreatePbufferARB wglCreatePbufferARB; - GdkGLProc_wglGetPbufferDCARB wglGetPbufferDCARB; - GdkGLProc_wglReleasePbufferDCARB wglReleasePbufferDCARB; - GdkGLProc_wglDestroyPbufferARB wglDestroyPbufferARB; - GdkGLProc_wglQueryPbufferARB wglQueryPbufferARB; -}; - -GdkGL_WGL_ARB_pbuffer *gdk_gl_get_WGL_ARB_pbuffer (GdkGLConfig *glconfig); - -/* - * WGL_ARB_render_texture - */ - -/* wglBindTexImageARB */ -typedef BOOL (WINAPI * GdkGLProc_wglBindTexImageARB) (HPBUFFERARB hPbuffer, int iBuffer); -GdkGLProc gdk_gl_get_wglBindTexImageARB (void); -#define gdk_gl_wglBindTexImageARB(proc, hPbuffer, iBuffer) \ - ( ((GdkGLProc_wglBindTexImageARB) (proc)) (hPbuffer, iBuffer) ) - -/* wglReleaseTexImageARB */ -typedef BOOL (WINAPI * GdkGLProc_wglReleaseTexImageARB) (HPBUFFERARB hPbuffer, int iBuffer); -GdkGLProc gdk_gl_get_wglReleaseTexImageARB (void); -#define gdk_gl_wglReleaseTexImageARB(proc, hPbuffer, iBuffer) \ - ( ((GdkGLProc_wglReleaseTexImageARB) (proc)) (hPbuffer, iBuffer) ) - -/* wglSetPbufferAttribARB */ -typedef BOOL (WINAPI * GdkGLProc_wglSetPbufferAttribARB) (HPBUFFERARB hPbuffer, const int *piAttribList); -GdkGLProc gdk_gl_get_wglSetPbufferAttribARB (void); -#define gdk_gl_wglSetPbufferAttribARB(proc, hPbuffer, piAttribList) \ - ( ((GdkGLProc_wglSetPbufferAttribARB) (proc)) (hPbuffer, piAttribList) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_ARB_render_texture GdkGL_WGL_ARB_render_texture; - -struct _GdkGL_WGL_ARB_render_texture -{ - GdkGLProc_wglBindTexImageARB wglBindTexImageARB; - GdkGLProc_wglReleaseTexImageARB wglReleaseTexImageARB; - GdkGLProc_wglSetPbufferAttribARB wglSetPbufferAttribARB; -}; - -GdkGL_WGL_ARB_render_texture *gdk_gl_get_WGL_ARB_render_texture (GdkGLConfig *glconfig); - -/* - * WGL_EXT_display_color_table - */ - -/* wglCreateDisplayColorTableEXT */ -typedef GLboolean (WINAPI * GdkGLProc_wglCreateDisplayColorTableEXT) (GLushort id); -GdkGLProc gdk_gl_get_wglCreateDisplayColorTableEXT (void); -#define gdk_gl_wglCreateDisplayColorTableEXT(proc, id) \ - ( ((GdkGLProc_wglCreateDisplayColorTableEXT) (proc)) (id) ) - -/* wglLoadDisplayColorTableEXT */ -typedef GLboolean (WINAPI * GdkGLProc_wglLoadDisplayColorTableEXT) (const GLushort *table, GLuint length); -GdkGLProc gdk_gl_get_wglLoadDisplayColorTableEXT (void); -#define gdk_gl_wglLoadDisplayColorTableEXT(proc, table, length) \ - ( ((GdkGLProc_wglLoadDisplayColorTableEXT) (proc)) (table, length) ) - -/* wglBindDisplayColorTableEXT */ -typedef GLboolean (WINAPI * GdkGLProc_wglBindDisplayColorTableEXT) (GLushort id); -GdkGLProc gdk_gl_get_wglBindDisplayColorTableEXT (void); -#define gdk_gl_wglBindDisplayColorTableEXT(proc, id) \ - ( ((GdkGLProc_wglBindDisplayColorTableEXT) (proc)) (id) ) - -/* wglDestroyDisplayColorTableEXT */ -typedef VOID (WINAPI * GdkGLProc_wglDestroyDisplayColorTableEXT) (GLushort id); -GdkGLProc gdk_gl_get_wglDestroyDisplayColorTableEXT (void); -#define gdk_gl_wglDestroyDisplayColorTableEXT(proc, id) \ - ( ((GdkGLProc_wglDestroyDisplayColorTableEXT) (proc)) (id) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_EXT_display_color_table GdkGL_WGL_EXT_display_color_table; - -struct _GdkGL_WGL_EXT_display_color_table -{ - GdkGLProc_wglCreateDisplayColorTableEXT wglCreateDisplayColorTableEXT; - GdkGLProc_wglLoadDisplayColorTableEXT wglLoadDisplayColorTableEXT; - GdkGLProc_wglBindDisplayColorTableEXT wglBindDisplayColorTableEXT; - GdkGLProc_wglDestroyDisplayColorTableEXT wglDestroyDisplayColorTableEXT; -}; - -GdkGL_WGL_EXT_display_color_table *gdk_gl_get_WGL_EXT_display_color_table (GdkGLConfig *glconfig); - -/* - * WGL_EXT_extensions_string - */ - -/* wglGetExtensionsStringEXT */ -typedef const char * (WINAPI * GdkGLProc_wglGetExtensionsStringEXT) (void); -GdkGLProc gdk_gl_get_wglGetExtensionsStringEXT (void); -#define gdk_gl_wglGetExtensionsStringEXT(proc) \ - ( ((GdkGLProc_wglGetExtensionsStringEXT) (proc)) () ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_EXT_extensions_string GdkGL_WGL_EXT_extensions_string; - -struct _GdkGL_WGL_EXT_extensions_string -{ - GdkGLProc_wglGetExtensionsStringEXT wglGetExtensionsStringEXT; -}; - -GdkGL_WGL_EXT_extensions_string *gdk_gl_get_WGL_EXT_extensions_string (GdkGLConfig *glconfig); - -/* - * WGL_EXT_make_current_read - */ - -/* wglMakeContextCurrentEXT */ -typedef BOOL (WINAPI * GdkGLProc_wglMakeContextCurrentEXT) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); -GdkGLProc gdk_gl_get_wglMakeContextCurrentEXT (void); -#define gdk_gl_wglMakeContextCurrentEXT(proc, hDrawDC, hReadDC, hglrc) \ - ( ((GdkGLProc_wglMakeContextCurrentEXT) (proc)) (hDrawDC, hReadDC, hglrc) ) - -/* wglGetCurrentReadDCEXT */ -typedef HDC (WINAPI * GdkGLProc_wglGetCurrentReadDCEXT) (void); -GdkGLProc gdk_gl_get_wglGetCurrentReadDCEXT (void); -#define gdk_gl_wglGetCurrentReadDCEXT(proc) \ - ( ((GdkGLProc_wglGetCurrentReadDCEXT) (proc)) () ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_EXT_make_current_read GdkGL_WGL_EXT_make_current_read; - -struct _GdkGL_WGL_EXT_make_current_read -{ - GdkGLProc_wglMakeContextCurrentEXT wglMakeContextCurrentEXT; - GdkGLProc_wglGetCurrentReadDCEXT wglGetCurrentReadDCEXT; -}; - -GdkGL_WGL_EXT_make_current_read *gdk_gl_get_WGL_EXT_make_current_read (GdkGLConfig *glconfig); - -/* - * WGL_EXT_pbuffer - */ - -/* wglCreatePbufferEXT */ -typedef HPBUFFEREXT (WINAPI * GdkGLProc_wglCreatePbufferEXT) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); -GdkGLProc gdk_gl_get_wglCreatePbufferEXT (void); -#define gdk_gl_wglCreatePbufferEXT(proc, hDC, iPixelFormat, iWidth, iHeight, piAttribList) \ - ( ((GdkGLProc_wglCreatePbufferEXT) (proc)) (hDC, iPixelFormat, iWidth, iHeight, piAttribList) ) - -/* wglGetPbufferDCEXT */ -typedef HDC (WINAPI * GdkGLProc_wglGetPbufferDCEXT) (HPBUFFEREXT hPbuffer); -GdkGLProc gdk_gl_get_wglGetPbufferDCEXT (void); -#define gdk_gl_wglGetPbufferDCEXT(proc, hPbuffer) \ - ( ((GdkGLProc_wglGetPbufferDCEXT) (proc)) (hPbuffer) ) - -/* wglReleasePbufferDCEXT */ -typedef int (WINAPI * GdkGLProc_wglReleasePbufferDCEXT) (HPBUFFEREXT hPbuffer, HDC hDC); -GdkGLProc gdk_gl_get_wglReleasePbufferDCEXT (void); -#define gdk_gl_wglReleasePbufferDCEXT(proc, hPbuffer, hDC) \ - ( ((GdkGLProc_wglReleasePbufferDCEXT) (proc)) (hPbuffer, hDC) ) - -/* wglDestroyPbufferEXT */ -typedef BOOL (WINAPI * GdkGLProc_wglDestroyPbufferEXT) (HPBUFFEREXT hPbuffer); -GdkGLProc gdk_gl_get_wglDestroyPbufferEXT (void); -#define gdk_gl_wglDestroyPbufferEXT(proc, hPbuffer) \ - ( ((GdkGLProc_wglDestroyPbufferEXT) (proc)) (hPbuffer) ) - -/* wglQueryPbufferEXT */ -typedef BOOL (WINAPI * GdkGLProc_wglQueryPbufferEXT) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue); -GdkGLProc gdk_gl_get_wglQueryPbufferEXT (void); -#define gdk_gl_wglQueryPbufferEXT(proc, hPbuffer, iAttribute, piValue) \ - ( ((GdkGLProc_wglQueryPbufferEXT) (proc)) (hPbuffer, iAttribute, piValue) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_EXT_pbuffer GdkGL_WGL_EXT_pbuffer; - -struct _GdkGL_WGL_EXT_pbuffer -{ - GdkGLProc_wglCreatePbufferEXT wglCreatePbufferEXT; - GdkGLProc_wglGetPbufferDCEXT wglGetPbufferDCEXT; - GdkGLProc_wglReleasePbufferDCEXT wglReleasePbufferDCEXT; - GdkGLProc_wglDestroyPbufferEXT wglDestroyPbufferEXT; - GdkGLProc_wglQueryPbufferEXT wglQueryPbufferEXT; -}; - -GdkGL_WGL_EXT_pbuffer *gdk_gl_get_WGL_EXT_pbuffer (GdkGLConfig *glconfig); - -/* - * WGL_EXT_pixel_format - */ - -/* wglGetPixelFormatAttribivEXT */ -typedef BOOL (WINAPI * GdkGLProc_wglGetPixelFormatAttribivEXT) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues); -GdkGLProc gdk_gl_get_wglGetPixelFormatAttribivEXT (void); -#define gdk_gl_wglGetPixelFormatAttribivEXT(proc, hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) \ - ( ((GdkGLProc_wglGetPixelFormatAttribivEXT) (proc)) (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues) ) - -/* wglGetPixelFormatAttribfvEXT */ -typedef BOOL (WINAPI * GdkGLProc_wglGetPixelFormatAttribfvEXT) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues); -GdkGLProc gdk_gl_get_wglGetPixelFormatAttribfvEXT (void); -#define gdk_gl_wglGetPixelFormatAttribfvEXT(proc, hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) \ - ( ((GdkGLProc_wglGetPixelFormatAttribfvEXT) (proc)) (hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues) ) - -/* wglChoosePixelFormatEXT */ -typedef BOOL (WINAPI * GdkGLProc_wglChoosePixelFormatEXT) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); -GdkGLProc gdk_gl_get_wglChoosePixelFormatEXT (void); -#define gdk_gl_wglChoosePixelFormatEXT(proc, hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) \ - ( ((GdkGLProc_wglChoosePixelFormatEXT) (proc)) (hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_EXT_pixel_format GdkGL_WGL_EXT_pixel_format; - -struct _GdkGL_WGL_EXT_pixel_format -{ - GdkGLProc_wglGetPixelFormatAttribivEXT wglGetPixelFormatAttribivEXT; - GdkGLProc_wglGetPixelFormatAttribfvEXT wglGetPixelFormatAttribfvEXT; - GdkGLProc_wglChoosePixelFormatEXT wglChoosePixelFormatEXT; -}; - -GdkGL_WGL_EXT_pixel_format *gdk_gl_get_WGL_EXT_pixel_format (GdkGLConfig *glconfig); - -/* - * WGL_EXT_swap_control - */ - -/* wglSwapIntervalEXT */ -typedef BOOL (WINAPI * GdkGLProc_wglSwapIntervalEXT) (int interval); -GdkGLProc gdk_gl_get_wglSwapIntervalEXT (void); -#define gdk_gl_wglSwapIntervalEXT(proc, interval) \ - ( ((GdkGLProc_wglSwapIntervalEXT) (proc)) (interval) ) - -/* wglGetSwapIntervalEXT */ -typedef int (WINAPI * GdkGLProc_wglGetSwapIntervalEXT) (void); -GdkGLProc gdk_gl_get_wglGetSwapIntervalEXT (void); -#define gdk_gl_wglGetSwapIntervalEXT(proc) \ - ( ((GdkGLProc_wglGetSwapIntervalEXT) (proc)) () ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_EXT_swap_control GdkGL_WGL_EXT_swap_control; - -struct _GdkGL_WGL_EXT_swap_control -{ - GdkGLProc_wglSwapIntervalEXT wglSwapIntervalEXT; - GdkGLProc_wglGetSwapIntervalEXT wglGetSwapIntervalEXT; -}; - -GdkGL_WGL_EXT_swap_control *gdk_gl_get_WGL_EXT_swap_control (GdkGLConfig *glconfig); - -/* - * WGL_NV_vertex_array_range - */ - -/* wglAllocateMemoryNV */ -typedef void* (WINAPI * GdkGLProc_wglAllocateMemoryNV) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority); -GdkGLProc gdk_gl_get_wglAllocateMemoryNV (void); -#define gdk_gl_wglAllocateMemoryNV(proc, size, readfreq, writefreq, priority) \ - ( ((GdkGLProc_wglAllocateMemoryNV) (proc)) (size, readfreq, writefreq, priority) ) - -/* wglFreeMemoryNV */ -typedef void (WINAPI * GdkGLProc_wglFreeMemoryNV) (void *pointer); -GdkGLProc gdk_gl_get_wglFreeMemoryNV (void); -#define gdk_gl_wglFreeMemoryNV(proc, pointer) \ - ( ((GdkGLProc_wglFreeMemoryNV) (proc)) (pointer) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_NV_vertex_array_range GdkGL_WGL_NV_vertex_array_range; - -struct _GdkGL_WGL_NV_vertex_array_range -{ - GdkGLProc_wglAllocateMemoryNV wglAllocateMemoryNV; - GdkGLProc_wglFreeMemoryNV wglFreeMemoryNV; -}; - -GdkGL_WGL_NV_vertex_array_range *gdk_gl_get_WGL_NV_vertex_array_range (GdkGLConfig *glconfig); - -/* - * WGL_OML_sync_control - */ - -/* wglGetSyncValuesOML */ -typedef BOOL (WINAPI * GdkGLProc_wglGetSyncValuesOML) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc); -GdkGLProc gdk_gl_get_wglGetSyncValuesOML (void); -#define gdk_gl_wglGetSyncValuesOML(proc, hdc, ust, msc, sbc) \ - ( ((GdkGLProc_wglGetSyncValuesOML) (proc)) (hdc, ust, msc, sbc) ) - -/* wglGetMscRateOML */ -typedef BOOL (WINAPI * GdkGLProc_wglGetMscRateOML) (HDC hdc, INT32 *numerator, INT32 *denominator); -GdkGLProc gdk_gl_get_wglGetMscRateOML (void); -#define gdk_gl_wglGetMscRateOML(proc, hdc, numerator, denominator) \ - ( ((GdkGLProc_wglGetMscRateOML) (proc)) (hdc, numerator, denominator) ) - -/* wglSwapBuffersMscOML */ -typedef INT64 (WINAPI * GdkGLProc_wglSwapBuffersMscOML) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder); -GdkGLProc gdk_gl_get_wglSwapBuffersMscOML (void); -#define gdk_gl_wglSwapBuffersMscOML(proc, hdc, target_msc, divisor, remainder) \ - ( ((GdkGLProc_wglSwapBuffersMscOML) (proc)) (hdc, target_msc, divisor, remainder) ) - -/* wglSwapLayerBuffersMscOML */ -typedef INT64 (WINAPI * GdkGLProc_wglSwapLayerBuffersMscOML) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder); -GdkGLProc gdk_gl_get_wglSwapLayerBuffersMscOML (void); -#define gdk_gl_wglSwapLayerBuffersMscOML(proc, hdc, fuPlanes, target_msc, divisor, remainder) \ - ( ((GdkGLProc_wglSwapLayerBuffersMscOML) (proc)) (hdc, fuPlanes, target_msc, divisor, remainder) ) - -/* wglWaitForMscOML */ -typedef BOOL (WINAPI * GdkGLProc_wglWaitForMscOML) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc); -GdkGLProc gdk_gl_get_wglWaitForMscOML (void); -#define gdk_gl_wglWaitForMscOML(proc, hdc, target_msc, divisor, remainder, ust, msc, sbc) \ - ( ((GdkGLProc_wglWaitForMscOML) (proc)) (hdc, target_msc, divisor, remainder, ust, msc, sbc) ) - -/* wglWaitForSbcOML */ -typedef BOOL (WINAPI * GdkGLProc_wglWaitForSbcOML) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc); -GdkGLProc gdk_gl_get_wglWaitForSbcOML (void); -#define gdk_gl_wglWaitForSbcOML(proc, hdc, target_sbc, ust, msc, sbc) \ - ( ((GdkGLProc_wglWaitForSbcOML) (proc)) (hdc, target_sbc, ust, msc, sbc) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_OML_sync_control GdkGL_WGL_OML_sync_control; - -struct _GdkGL_WGL_OML_sync_control -{ - GdkGLProc_wglGetSyncValuesOML wglGetSyncValuesOML; - GdkGLProc_wglGetMscRateOML wglGetMscRateOML; - GdkGLProc_wglSwapBuffersMscOML wglSwapBuffersMscOML; - GdkGLProc_wglSwapLayerBuffersMscOML wglSwapLayerBuffersMscOML; - GdkGLProc_wglWaitForMscOML wglWaitForMscOML; - GdkGLProc_wglWaitForSbcOML wglWaitForSbcOML; -}; - -GdkGL_WGL_OML_sync_control *gdk_gl_get_WGL_OML_sync_control (GdkGLConfig *glconfig); - -/* - * WGL_I3D_digital_video_control - */ - -/* wglGetDigitalVideoParametersI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGetDigitalVideoParametersI3D) (HDC hDC, int iAttribute, int *piValue); -GdkGLProc gdk_gl_get_wglGetDigitalVideoParametersI3D (void); -#define gdk_gl_wglGetDigitalVideoParametersI3D(proc, hDC, iAttribute, piValue) \ - ( ((GdkGLProc_wglGetDigitalVideoParametersI3D) (proc)) (hDC, iAttribute, piValue) ) - -/* wglSetDigitalVideoParametersI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglSetDigitalVideoParametersI3D) (HDC hDC, int iAttribute, const int *piValue); -GdkGLProc gdk_gl_get_wglSetDigitalVideoParametersI3D (void); -#define gdk_gl_wglSetDigitalVideoParametersI3D(proc, hDC, iAttribute, piValue) \ - ( ((GdkGLProc_wglSetDigitalVideoParametersI3D) (proc)) (hDC, iAttribute, piValue) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_I3D_digital_video_control GdkGL_WGL_I3D_digital_video_control; - -struct _GdkGL_WGL_I3D_digital_video_control -{ - GdkGLProc_wglGetDigitalVideoParametersI3D wglGetDigitalVideoParametersI3D; - GdkGLProc_wglSetDigitalVideoParametersI3D wglSetDigitalVideoParametersI3D; -}; - -GdkGL_WGL_I3D_digital_video_control *gdk_gl_get_WGL_I3D_digital_video_control (GdkGLConfig *glconfig); - -/* - * WGL_I3D_gamma - */ - -/* wglGetGammaTableParametersI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGetGammaTableParametersI3D) (HDC hDC, int iAttribute, int *piValue); -GdkGLProc gdk_gl_get_wglGetGammaTableParametersI3D (void); -#define gdk_gl_wglGetGammaTableParametersI3D(proc, hDC, iAttribute, piValue) \ - ( ((GdkGLProc_wglGetGammaTableParametersI3D) (proc)) (hDC, iAttribute, piValue) ) - -/* wglSetGammaTableParametersI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglSetGammaTableParametersI3D) (HDC hDC, int iAttribute, const int *piValue); -GdkGLProc gdk_gl_get_wglSetGammaTableParametersI3D (void); -#define gdk_gl_wglSetGammaTableParametersI3D(proc, hDC, iAttribute, piValue) \ - ( ((GdkGLProc_wglSetGammaTableParametersI3D) (proc)) (hDC, iAttribute, piValue) ) - -/* wglGetGammaTableI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGetGammaTableI3D) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue); -GdkGLProc gdk_gl_get_wglGetGammaTableI3D (void); -#define gdk_gl_wglGetGammaTableI3D(proc, hDC, iEntries, puRed, puGreen, puBlue) \ - ( ((GdkGLProc_wglGetGammaTableI3D) (proc)) (hDC, iEntries, puRed, puGreen, puBlue) ) - -/* wglSetGammaTableI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglSetGammaTableI3D) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue); -GdkGLProc gdk_gl_get_wglSetGammaTableI3D (void); -#define gdk_gl_wglSetGammaTableI3D(proc, hDC, iEntries, puRed, puGreen, puBlue) \ - ( ((GdkGLProc_wglSetGammaTableI3D) (proc)) (hDC, iEntries, puRed, puGreen, puBlue) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_I3D_gamma GdkGL_WGL_I3D_gamma; - -struct _GdkGL_WGL_I3D_gamma -{ - GdkGLProc_wglGetGammaTableParametersI3D wglGetGammaTableParametersI3D; - GdkGLProc_wglSetGammaTableParametersI3D wglSetGammaTableParametersI3D; - GdkGLProc_wglGetGammaTableI3D wglGetGammaTableI3D; - GdkGLProc_wglSetGammaTableI3D wglSetGammaTableI3D; -}; - -GdkGL_WGL_I3D_gamma *gdk_gl_get_WGL_I3D_gamma (GdkGLConfig *glconfig); - -/* - * WGL_I3D_genlock - */ - -/* wglEnableGenlockI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglEnableGenlockI3D) (HDC hDC); -GdkGLProc gdk_gl_get_wglEnableGenlockI3D (void); -#define gdk_gl_wglEnableGenlockI3D(proc, hDC) \ - ( ((GdkGLProc_wglEnableGenlockI3D) (proc)) (hDC) ) - -/* wglDisableGenlockI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglDisableGenlockI3D) (HDC hDC); -GdkGLProc gdk_gl_get_wglDisableGenlockI3D (void); -#define gdk_gl_wglDisableGenlockI3D(proc, hDC) \ - ( ((GdkGLProc_wglDisableGenlockI3D) (proc)) (hDC) ) - -/* wglIsEnabledGenlockI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglIsEnabledGenlockI3D) (HDC hDC, BOOL *pFlag); -GdkGLProc gdk_gl_get_wglIsEnabledGenlockI3D (void); -#define gdk_gl_wglIsEnabledGenlockI3D(proc, hDC, pFlag) \ - ( ((GdkGLProc_wglIsEnabledGenlockI3D) (proc)) (hDC, pFlag) ) - -/* wglGenlockSourceI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGenlockSourceI3D) (HDC hDC, UINT uSource); -GdkGLProc gdk_gl_get_wglGenlockSourceI3D (void); -#define gdk_gl_wglGenlockSourceI3D(proc, hDC, uSource) \ - ( ((GdkGLProc_wglGenlockSourceI3D) (proc)) (hDC, uSource) ) - -/* wglGetGenlockSourceI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGetGenlockSourceI3D) (HDC hDC, UINT *uSource); -GdkGLProc gdk_gl_get_wglGetGenlockSourceI3D (void); -#define gdk_gl_wglGetGenlockSourceI3D(proc, hDC, uSource) \ - ( ((GdkGLProc_wglGetGenlockSourceI3D) (proc)) (hDC, uSource) ) - -/* wglGenlockSourceEdgeI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGenlockSourceEdgeI3D) (HDC hDC, UINT uEdge); -GdkGLProc gdk_gl_get_wglGenlockSourceEdgeI3D (void); -#define gdk_gl_wglGenlockSourceEdgeI3D(proc, hDC, uEdge) \ - ( ((GdkGLProc_wglGenlockSourceEdgeI3D) (proc)) (hDC, uEdge) ) - -/* wglGetGenlockSourceEdgeI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGetGenlockSourceEdgeI3D) (HDC hDC, UINT *uEdge); -GdkGLProc gdk_gl_get_wglGetGenlockSourceEdgeI3D (void); -#define gdk_gl_wglGetGenlockSourceEdgeI3D(proc, hDC, uEdge) \ - ( ((GdkGLProc_wglGetGenlockSourceEdgeI3D) (proc)) (hDC, uEdge) ) - -/* wglGenlockSampleRateI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGenlockSampleRateI3D) (HDC hDC, UINT uRate); -GdkGLProc gdk_gl_get_wglGenlockSampleRateI3D (void); -#define gdk_gl_wglGenlockSampleRateI3D(proc, hDC, uRate) \ - ( ((GdkGLProc_wglGenlockSampleRateI3D) (proc)) (hDC, uRate) ) - -/* wglGetGenlockSampleRateI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGetGenlockSampleRateI3D) (HDC hDC, UINT *uRate); -GdkGLProc gdk_gl_get_wglGetGenlockSampleRateI3D (void); -#define gdk_gl_wglGetGenlockSampleRateI3D(proc, hDC, uRate) \ - ( ((GdkGLProc_wglGetGenlockSampleRateI3D) (proc)) (hDC, uRate) ) - -/* wglGenlockSourceDelayI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGenlockSourceDelayI3D) (HDC hDC, UINT uDelay); -GdkGLProc gdk_gl_get_wglGenlockSourceDelayI3D (void); -#define gdk_gl_wglGenlockSourceDelayI3D(proc, hDC, uDelay) \ - ( ((GdkGLProc_wglGenlockSourceDelayI3D) (proc)) (hDC, uDelay) ) - -/* wglGetGenlockSourceDelayI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGetGenlockSourceDelayI3D) (HDC hDC, UINT *uDelay); -GdkGLProc gdk_gl_get_wglGetGenlockSourceDelayI3D (void); -#define gdk_gl_wglGetGenlockSourceDelayI3D(proc, hDC, uDelay) \ - ( ((GdkGLProc_wglGetGenlockSourceDelayI3D) (proc)) (hDC, uDelay) ) - -/* wglQueryGenlockMaxSourceDelayI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglQueryGenlockMaxSourceDelayI3D) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay); -GdkGLProc gdk_gl_get_wglQueryGenlockMaxSourceDelayI3D (void); -#define gdk_gl_wglQueryGenlockMaxSourceDelayI3D(proc, hDC, uMaxLineDelay, uMaxPixelDelay) \ - ( ((GdkGLProc_wglQueryGenlockMaxSourceDelayI3D) (proc)) (hDC, uMaxLineDelay, uMaxPixelDelay) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_I3D_genlock GdkGL_WGL_I3D_genlock; - -struct _GdkGL_WGL_I3D_genlock -{ - GdkGLProc_wglEnableGenlockI3D wglEnableGenlockI3D; - GdkGLProc_wglDisableGenlockI3D wglDisableGenlockI3D; - GdkGLProc_wglIsEnabledGenlockI3D wglIsEnabledGenlockI3D; - GdkGLProc_wglGenlockSourceI3D wglGenlockSourceI3D; - GdkGLProc_wglGetGenlockSourceI3D wglGetGenlockSourceI3D; - GdkGLProc_wglGenlockSourceEdgeI3D wglGenlockSourceEdgeI3D; - GdkGLProc_wglGetGenlockSourceEdgeI3D wglGetGenlockSourceEdgeI3D; - GdkGLProc_wglGenlockSampleRateI3D wglGenlockSampleRateI3D; - GdkGLProc_wglGetGenlockSampleRateI3D wglGetGenlockSampleRateI3D; - GdkGLProc_wglGenlockSourceDelayI3D wglGenlockSourceDelayI3D; - GdkGLProc_wglGetGenlockSourceDelayI3D wglGetGenlockSourceDelayI3D; - GdkGLProc_wglQueryGenlockMaxSourceDelayI3D wglQueryGenlockMaxSourceDelayI3D; -}; - -GdkGL_WGL_I3D_genlock *gdk_gl_get_WGL_I3D_genlock (GdkGLConfig *glconfig); - -/* - * WGL_I3D_image_buffer - */ - -/* wglCreateImageBufferI3D */ -typedef LPVOID (WINAPI * GdkGLProc_wglCreateImageBufferI3D) (HDC hDC, DWORD dwSize, UINT uFlags); -GdkGLProc gdk_gl_get_wglCreateImageBufferI3D (void); -#define gdk_gl_wglCreateImageBufferI3D(proc, hDC, dwSize, uFlags) \ - ( ((GdkGLProc_wglCreateImageBufferI3D) (proc)) (hDC, dwSize, uFlags) ) - -/* wglDestroyImageBufferI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglDestroyImageBufferI3D) (HDC hDC, LPVOID pAddress); -GdkGLProc gdk_gl_get_wglDestroyImageBufferI3D (void); -#define gdk_gl_wglDestroyImageBufferI3D(proc, hDC, pAddress) \ - ( ((GdkGLProc_wglDestroyImageBufferI3D) (proc)) (hDC, pAddress) ) - -/* wglAssociateImageBufferEventsI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglAssociateImageBufferEventsI3D) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count); -GdkGLProc gdk_gl_get_wglAssociateImageBufferEventsI3D (void); -#define gdk_gl_wglAssociateImageBufferEventsI3D(proc, hDC, pEvent, pAddress, pSize, count) \ - ( ((GdkGLProc_wglAssociateImageBufferEventsI3D) (proc)) (hDC, pEvent, pAddress, pSize, count) ) - -/* wglReleaseImageBufferEventsI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglReleaseImageBufferEventsI3D) (HDC hDC, const LPVOID *pAddress, UINT count); -GdkGLProc gdk_gl_get_wglReleaseImageBufferEventsI3D (void); -#define gdk_gl_wglReleaseImageBufferEventsI3D(proc, hDC, pAddress, count) \ - ( ((GdkGLProc_wglReleaseImageBufferEventsI3D) (proc)) (hDC, pAddress, count) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_I3D_image_buffer GdkGL_WGL_I3D_image_buffer; - -struct _GdkGL_WGL_I3D_image_buffer -{ - GdkGLProc_wglCreateImageBufferI3D wglCreateImageBufferI3D; - GdkGLProc_wglDestroyImageBufferI3D wglDestroyImageBufferI3D; - GdkGLProc_wglAssociateImageBufferEventsI3D wglAssociateImageBufferEventsI3D; - GdkGLProc_wglReleaseImageBufferEventsI3D wglReleaseImageBufferEventsI3D; -}; - -GdkGL_WGL_I3D_image_buffer *gdk_gl_get_WGL_I3D_image_buffer (GdkGLConfig *glconfig); - -/* - * WGL_I3D_swap_frame_lock - */ - -/* wglEnableFrameLockI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglEnableFrameLockI3D) (void); -GdkGLProc gdk_gl_get_wglEnableFrameLockI3D (void); -#define gdk_gl_wglEnableFrameLockI3D(proc) \ - ( ((GdkGLProc_wglEnableFrameLockI3D) (proc)) () ) - -/* wglDisableFrameLockI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglDisableFrameLockI3D) (void); -GdkGLProc gdk_gl_get_wglDisableFrameLockI3D (void); -#define gdk_gl_wglDisableFrameLockI3D(proc) \ - ( ((GdkGLProc_wglDisableFrameLockI3D) (proc)) () ) - -/* wglIsEnabledFrameLockI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglIsEnabledFrameLockI3D) (BOOL *pFlag); -GdkGLProc gdk_gl_get_wglIsEnabledFrameLockI3D (void); -#define gdk_gl_wglIsEnabledFrameLockI3D(proc, pFlag) \ - ( ((GdkGLProc_wglIsEnabledFrameLockI3D) (proc)) (pFlag) ) - -/* wglQueryFrameLockMasterI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglQueryFrameLockMasterI3D) (BOOL *pFlag); -GdkGLProc gdk_gl_get_wglQueryFrameLockMasterI3D (void); -#define gdk_gl_wglQueryFrameLockMasterI3D(proc, pFlag) \ - ( ((GdkGLProc_wglQueryFrameLockMasterI3D) (proc)) (pFlag) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_I3D_swap_frame_lock GdkGL_WGL_I3D_swap_frame_lock; - -struct _GdkGL_WGL_I3D_swap_frame_lock -{ - GdkGLProc_wglEnableFrameLockI3D wglEnableFrameLockI3D; - GdkGLProc_wglDisableFrameLockI3D wglDisableFrameLockI3D; - GdkGLProc_wglIsEnabledFrameLockI3D wglIsEnabledFrameLockI3D; - GdkGLProc_wglQueryFrameLockMasterI3D wglQueryFrameLockMasterI3D; -}; - -GdkGL_WGL_I3D_swap_frame_lock *gdk_gl_get_WGL_I3D_swap_frame_lock (GdkGLConfig *glconfig); - -/* - * WGL_I3D_swap_frame_usage - */ - -/* wglGetFrameUsageI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglGetFrameUsageI3D) (float *pUsage); -GdkGLProc gdk_gl_get_wglGetFrameUsageI3D (void); -#define gdk_gl_wglGetFrameUsageI3D(proc, pUsage) \ - ( ((GdkGLProc_wglGetFrameUsageI3D) (proc)) (pUsage) ) - -/* wglBeginFrameTrackingI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglBeginFrameTrackingI3D) (void); -GdkGLProc gdk_gl_get_wglBeginFrameTrackingI3D (void); -#define gdk_gl_wglBeginFrameTrackingI3D(proc) \ - ( ((GdkGLProc_wglBeginFrameTrackingI3D) (proc)) () ) - -/* wglEndFrameTrackingI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglEndFrameTrackingI3D) (void); -GdkGLProc gdk_gl_get_wglEndFrameTrackingI3D (void); -#define gdk_gl_wglEndFrameTrackingI3D(proc) \ - ( ((GdkGLProc_wglEndFrameTrackingI3D) (proc)) () ) - -/* wglQueryFrameTrackingI3D */ -typedef BOOL (WINAPI * GdkGLProc_wglQueryFrameTrackingI3D) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage); -GdkGLProc gdk_gl_get_wglQueryFrameTrackingI3D (void); -#define gdk_gl_wglQueryFrameTrackingI3D(proc, pFrameCount, pMissedFrames, pLastMissedUsage) \ - ( ((GdkGLProc_wglQueryFrameTrackingI3D) (proc)) (pFrameCount, pMissedFrames, pLastMissedUsage) ) - -/* proc struct */ - -typedef struct _GdkGL_WGL_I3D_swap_frame_usage GdkGL_WGL_I3D_swap_frame_usage; - -struct _GdkGL_WGL_I3D_swap_frame_usage -{ - GdkGLProc_wglGetFrameUsageI3D wglGetFrameUsageI3D; - GdkGLProc_wglBeginFrameTrackingI3D wglBeginFrameTrackingI3D; - GdkGLProc_wglEndFrameTrackingI3D wglEndFrameTrackingI3D; - GdkGLProc_wglQueryFrameTrackingI3D wglQueryFrameTrackingI3D; -}; - -GdkGL_WGL_I3D_swap_frame_usage *gdk_gl_get_WGL_I3D_swap_frame_usage (GdkGLConfig *glconfig); - -G_END_DECLS - -#endif /* __GDK_GL_WGLEXT_H__ */ diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwin32.h b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwin32.h deleted file mode 100644 index 958ccfdd..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwin32.h +++ /dev/null @@ -1,85 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#ifndef __GDK_GL_WIN32_H__ -#define __GDK_GL_WIN32_H__ - -#include <gdk/gdkwin32.h> - -#ifndef STRICT -#define STRICT /* We want strict type checks */ -#endif -#define WIN32_LEAN_AND_MEAN 1 -#include <windows.h> - -#include <GL/gl.h> - -#include <gdk/win32/gdkglwglext.h> - -/* MinGW's wingdi.h bug. */ -#ifndef PFD_SWAP_LAYER_BUFFERS -#define PFD_SWAP_LAYER_BUFFERS 0x00000800 -#endif - -G_BEGIN_DECLS - -gboolean gdk_win32_gl_query_wgl_extension (GdkGLConfig *glconfig, - const char *extension); - -GdkGLConfig *gdk_win32_gl_config_new_from_pixel_format (int pixel_format); - -PIXELFORMATDESCRIPTOR *gdk_win32_gl_config_get_pfd (GdkGLConfig *glconfig); - -GdkGLContext *gdk_win32_gl_context_foreign_new (GdkGLConfig *glconfig, - GdkGLContext *share_list, - HGLRC hglrc); - -HGLRC gdk_win32_gl_context_get_hglrc (GdkGLContext *glcontext); - -HDC gdk_win32_gl_drawable_hdc_get (GdkGLDrawable *gldrawable); -void gdk_win32_gl_drawable_hdc_release (GdkGLDrawable *gldrawable); - -PIXELFORMATDESCRIPTOR *gdk_win32_gl_pixmap_get_pfd (GdkGLPixmap *glpixmap); -int gdk_win32_gl_pixmap_get_pixel_format (GdkGLPixmap *glpixmap); - -PIXELFORMATDESCRIPTOR *gdk_win32_gl_window_get_pfd (GdkGLWindow *glwindow); -int gdk_win32_gl_window_get_pixel_format (GdkGLWindow *glwindow); - -#ifdef INSIDE_GDK_GL_WIN32 - -#define GDK_GL_CONFIG_PFD(glconfig) (&(GDK_GL_CONFIG_IMPL_WIN32 (glconfig)->pfd)) -#define GDK_GL_CONTEXT_HGLRC(glcontext) (GDK_GL_CONTEXT_IMPL_WIN32 (glcontext)->hglrc) -#define GDK_GL_PIXMAP_PFD(glpixmap) (&(GDK_GL_PIXMAP_IMPL_WIN32 (glpixmap)->pfd)) -#define GDK_GL_PIXMAP_PIXEL_FORMAT(glpixmap) (GDK_GL_PIXMAP_IMPL_WIN32 (glpixmap)->pixel_format) -#define GDK_GL_WINDOW_PFD(glwindow) (&(GDK_GL_WINDOW_IMPL_WIN32 (glwindow)->pfd)) -#define GDK_GL_WINDOW_PIXEL_FORMAT(glwindow) (GDK_GL_WINDOW_IMPL_WIN32 (glwindow)->pixel_format) - -#else - -#define GDK_GL_CONFIG_PFD(glconfig) (gdk_win32_gl_config_get_pfd (glconfig)) -#define GDK_GL_CONTEXT_HGLRC(glcontext) (gdk_win32_gl_context_get_hglrc (glcontext)) -#define GDK_GL_PIXMAP_PFD(glpixmap) (gdk_win32_gl_pixmap_get_pfd (glpixmap)) -#define GDK_GL_PIXMAP_PIXEL_FORMAT(glpixmap) (gdk_win32_gl_pixmap_get_pixel_format (glpixmap)) -#define GDK_GL_WINDOW_PFD(glwindow) (gdk_win32_gl_window_get_pfd (glwindow)) -#define GDK_GL_WINDOW_PIXEL_FORMAT(glwindow) (gdk_win32_gl_window_get_pixel_format (glwindow)) - -#endif - -G_END_DECLS - -#endif /* __GDK_GL_WIN32_H__ */ diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwindow-win32.c b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwindow-win32.c deleted file mode 100644 index 55fccec5..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwindow-win32.c +++ /dev/null @@ -1,442 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#include "gdkglwin32.h" -#include "gdkglprivate-win32.h" -#include "gdkglconfig-win32.h" -#include "gdkglcontext-win32.h" -#include "gdkglwindow-win32.h" - -static gboolean gdk_gl_window_impl_win32_make_context_current (GdkGLDrawable *draw, - GdkGLDrawable *read, - GdkGLContext *glcontext); -static gboolean gdk_gl_window_impl_win32_is_double_buffered (GdkGLDrawable *gldrawable); -static void gdk_gl_window_impl_win32_swap_buffers (GdkGLDrawable *gldrawable); -static void gdk_gl_window_impl_win32_wait_gl (GdkGLDrawable *gldrawable); -static void gdk_gl_window_impl_win32_wait_gdk (GdkGLDrawable *gldrawable); -/* -static gboolean gdk_gl_window_impl_win32_gl_begin (GdkGLDrawable *draw, - GdkGLDrawable *read, - GdkGLContext *glcontext); -*/ -static void gdk_gl_window_impl_win32_gl_end (GdkGLDrawable *gldrawable); -static GdkGLConfig *gdk_gl_window_impl_win32_get_gl_config (GdkGLDrawable *gldrawable); - -static void gdk_gl_window_impl_win32_class_init (GdkGLWindowImplWin32Class *klass); -static void gdk_gl_window_impl_win32_finalize (GObject *object); -static void gdk_gl_window_impl_win32_gl_drawable_interface_init (GdkGLDrawableClass *iface); - -static gpointer parent_class = NULL; - -GType -gdk_gl_window_impl_win32_get_type (void) -{ - static GType type = 0; - - if (!type) - { - static const GTypeInfo type_info = { - sizeof (GdkGLWindowImplWin32Class), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_gl_window_impl_win32_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (GdkGLWindowImplWin32), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL - }; - static const GInterfaceInfo gl_drawable_interface_info = { - (GInterfaceInitFunc) gdk_gl_window_impl_win32_gl_drawable_interface_init, - (GInterfaceFinalizeFunc) NULL, - NULL /* interface_data */ - }; - - type = g_type_register_static (GDK_TYPE_GL_WINDOW, - "GdkGLWindowImplWin32", - &type_info, 0); - g_type_add_interface_static (type, - GDK_TYPE_GL_DRAWABLE, - &gl_drawable_interface_info); - } - - return type; -} - -static void -gdk_gl_window_impl_win32_class_init (GdkGLWindowImplWin32Class *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_gl_window_impl_win32_finalize; -} - -void -_gdk_gl_window_destroy (GdkGLWindow *glwindow) -{ - GdkGLWindowImplWin32 *impl = GDK_GL_WINDOW_IMPL_WIN32 (glwindow); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - if (impl->is_destroyed) - return; - - /* Get DC. */ - if (impl->hdc == NULL) - { - impl->hdc = GetDC (impl->hwnd); - if (impl->hdc == NULL) - return; - } - - if (impl->hdc == wglGetCurrentDC ()) - { - glFinish (); - - GDK_GL_NOTE_FUNC_IMPL ("wglMakeCurrent"); - wglMakeCurrent (NULL, NULL); - } - - /* Release DC. */ - if (impl->need_release_dc) - ReleaseDC (impl->hwnd, impl->hdc); - impl->hdc = NULL; - - impl->hwnd = NULL; - - impl->is_destroyed = TRUE; -} - -static void -gdk_gl_window_impl_win32_finalize (GObject *object) -{ - GdkGLWindowImplWin32 *impl = GDK_GL_WINDOW_IMPL_WIN32 (object); - - GDK_GL_NOTE_FUNC_PRIVATE (); - - _gdk_gl_window_destroy (GDK_GL_WINDOW (object)); - - g_object_unref (G_OBJECT (impl->glconfig)); - - G_OBJECT_CLASS (parent_class)->finalize (object); -} - -static void -gdk_gl_window_impl_win32_gl_drawable_interface_init (GdkGLDrawableClass *iface) -{ - GDK_GL_NOTE_FUNC_PRIVATE (); - - iface->create_new_context = _gdk_win32_gl_context_new; - iface->make_context_current = gdk_gl_window_impl_win32_make_context_current; - iface->is_double_buffered = gdk_gl_window_impl_win32_is_double_buffered; - iface->swap_buffers = gdk_gl_window_impl_win32_swap_buffers; - iface->wait_gl = gdk_gl_window_impl_win32_wait_gl; - iface->wait_gdk = gdk_gl_window_impl_win32_wait_gdk; - iface->gl_begin = gdk_gl_window_impl_win32_make_context_current; - iface->gl_end = gdk_gl_window_impl_win32_gl_end; - iface->get_gl_config = gdk_gl_window_impl_win32_get_gl_config; - iface->get_size = _gdk_gl_window_get_size; -} - -/* - * attrib_list is currently unused. This must be set to NULL or empty - * (first attribute of None). See GLX 1.3 spec. - */ -GdkGLWindow * -gdk_gl_window_new (GdkGLConfig *glconfig, - GdkWindow *window, - const int *attrib_list) -{ - GdkGLWindow *glwindow; - GdkGLWindowImplWin32 *impl; - - HWND hwnd; - DWORD wndclass_style; - gboolean need_release_dc; - HDC hdc = NULL; - PIXELFORMATDESCRIPTOR pfd; - int pixel_format; - - GDK_GL_NOTE_FUNC (); - - g_return_val_if_fail (GDK_IS_GL_CONFIG_IMPL_WIN32 (glconfig), NULL); - g_return_val_if_fail (GDK_IS_WINDOW (window), NULL); - - hwnd = (HWND) gdk_win32_drawable_get_handle (GDK_DRAWABLE (window)); - - /* Private DC? */ - wndclass_style = GetClassLong (hwnd, GCL_STYLE); - if (wndclass_style & CS_OWNDC) - { - GDK_GL_NOTE (MISC, g_message (" -- Private DC")); - need_release_dc = FALSE; - } - else - { - GDK_GL_NOTE (MISC, g_message (" -- Common DC")); - need_release_dc = TRUE; - } - - /* Get DC. */ - hdc = GetDC (hwnd); - if (hdc == NULL) - { - g_warning ("cannot get DC"); - goto FAIL; - } - - /* - * Choose pixel format. - */ - - pfd = *(GDK_GL_CONFIG_PFD (glconfig)); - /* Draw to window */ - pfd.dwFlags &= ~PFD_DRAW_TO_BITMAP; - pfd.dwFlags |= PFD_DRAW_TO_WINDOW; - - /* Request pfd.cColorBits should exclude alpha bitplanes. */ - pfd.cColorBits = pfd.cRedBits + pfd.cGreenBits + pfd.cBlueBits; - - GDK_GL_NOTE_FUNC_IMPL ("ChoosePixelFormat"); - - pixel_format = ChoosePixelFormat (hdc, &pfd); - if (pixel_format == 0) - { - g_warning ("cannot choose pixel format"); - goto FAIL; - } - - /* - * Set pixel format. - */ - - GDK_GL_NOTE_FUNC_IMPL ("SetPixelFormat"); - - if (!SetPixelFormat (hdc, pixel_format, &pfd)) - { - g_warning ("cannot set pixel format"); - goto FAIL; - } - - DescribePixelFormat (hdc, pixel_format, sizeof (pfd), &pfd); - - GDK_GL_NOTE (MISC, g_message (" -- impl->pixel_format = 0x%x", pixel_format)); - GDK_GL_NOTE (MISC, _gdk_win32_gl_print_pfd (&pfd)); - - if (need_release_dc) - { - /* Release DC. */ - ReleaseDC (hwnd, hdc); - hdc = NULL; - } - - /* - * Instantiate the GdkGLWindowImplWin32 object. - */ - - glwindow = g_object_new (GDK_TYPE_GL_WINDOW_IMPL_WIN32, NULL); - impl = GDK_GL_WINDOW_IMPL_WIN32 (glwindow); - - glwindow->drawable = GDK_DRAWABLE (window); - g_object_add_weak_pointer (G_OBJECT (glwindow->drawable), - (gpointer *) &(glwindow->drawable)); - - impl->hwnd = hwnd; - - impl->pfd = pfd; - impl->pixel_format = pixel_format; - - impl->glconfig = glconfig; - g_object_ref (G_OBJECT (impl->glconfig)); - - impl->hdc = hdc; - impl->need_release_dc = need_release_dc; - - impl->is_destroyed = FALSE; - - return glwindow; - - FAIL: - - /* Release DC. */ - if (need_release_dc && hdc != NULL) - ReleaseDC (hwnd, hdc); - - return NULL; -} - -static gboolean -gdk_gl_window_impl_win32_make_context_current (GdkGLDrawable *draw, - GdkGLDrawable *read, - GdkGLContext *glcontext) -{ - GdkGLWindowImplWin32 *impl; - HDC hdc; - HGLRC hglrc; - - g_return_val_if_fail (GDK_IS_GL_WINDOW_IMPL_WIN32 (draw), FALSE); - g_return_val_if_fail (GDK_IS_GL_CONTEXT_IMPL_WIN32 (glcontext), FALSE); - - if (GDK_GL_WINDOW_IS_DESTROYED (draw) || - GDK_GL_CONTEXT_IS_DESTROYED (glcontext)) - return FALSE; - - impl = GDK_GL_WINDOW_IMPL_WIN32 (draw); - - /* Get DC. */ - hdc = GDK_GL_WINDOW_IMPL_WIN32_HDC_GET (impl); - - /* Get GLRC. */ - hglrc = GDK_GL_CONTEXT_HGLRC (glcontext); - - GDK_GL_NOTE_FUNC_IMPL ("wglMakeCurrent"); - - if (!wglMakeCurrent (hdc, hglrc)) - { - g_warning ("wglMakeCurrent() failed"); - _gdk_gl_context_set_gl_drawable (glcontext, NULL); - /* currently unused. */ - /* _gdk_gl_context_set_gl_drawable_read (glcontext, NULL); */ - return FALSE; - } - - _gdk_gl_context_set_gl_drawable (glcontext, draw); - /* currently unused. */ - /* _gdk_gl_context_set_gl_drawable_read (glcontext, read); */ - - if (_GDK_GL_CONFIG_AS_SINGLE_MODE (impl->glconfig)) - { - /* We do this because we are treating a double-buffered frame - buffer as a single-buffered frame buffer because the system - does not appear to export any suitable single-buffered - visuals (in which the following are necessary). */ - glDrawBuffer (GL_FRONT); - glReadBuffer (GL_FRONT); - } - - GDK_GL_NOTE (MISC, _gdk_gl_print_gl_info ()); - - /* - * Do *NOT* release DC. - * - * With some graphics card, DC owned by rendering thread will be needed. - */ - - return TRUE; -} - -static gboolean -gdk_gl_window_impl_win32_is_double_buffered (GdkGLDrawable *gldrawable) -{ - g_return_val_if_fail (GDK_IS_GL_WINDOW_IMPL_WIN32 (gldrawable), FALSE); - - return gdk_gl_config_is_double_buffered (GDK_GL_WINDOW_IMPL_WIN32 (gldrawable)->glconfig); -} - -static void -gdk_gl_window_impl_win32_swap_buffers (GdkGLDrawable *gldrawable) -{ - GdkGLWindowImplWin32 *impl; - HDC hdc; - - g_return_if_fail (GDK_IS_GL_WINDOW_IMPL_WIN32 (gldrawable)); - - if (GDK_GL_WINDOW_IS_DESTROYED (gldrawable)) - return; - - impl = GDK_GL_WINDOW_IMPL_WIN32 (gldrawable); - - /* Get DC. */ - hdc = GDK_GL_WINDOW_IMPL_WIN32_HDC_GET (impl); - - GDK_GL_NOTE_FUNC_IMPL ("SwapBuffers"); - - SwapBuffers (hdc); - - /* Release DC. */ - GDK_GL_WINDOW_IMPL_WIN32_HDC_RELEASE (impl); -} - -static void -gdk_gl_window_impl_win32_wait_gl (GdkGLDrawable *gldrawable) -{ - GdkGLWindowImplWin32 *impl = GDK_GL_WINDOW_IMPL_WIN32 (gldrawable); - - glFinish (); - - /* Release DC. */ - GDK_GL_WINDOW_IMPL_WIN32_HDC_RELEASE (impl); -} - -static void -gdk_gl_window_impl_win32_wait_gdk (GdkGLDrawable *gldrawable) -{ - GdkGLWindowImplWin32 *impl = GDK_GL_WINDOW_IMPL_WIN32 (gldrawable); - - GdiFlush (); - - /* Get DC. */ - GDK_GL_WINDOW_IMPL_WIN32_HDC_GET (impl); -} - -/* -static gboolean -gdk_gl_window_impl_win32_gl_begin (GdkGLDrawable *draw, - GdkGLDrawable *read, - GdkGLContext *glcontext) -{ - return gdk_gl_window_impl_win32_make_context_current (draw, read, glcontext); -} -*/ - -static void -gdk_gl_window_impl_win32_gl_end (GdkGLDrawable *gldrawable) -{ - GdkGLWindowImplWin32 *impl = GDK_GL_WINDOW_IMPL_WIN32 (gldrawable); - - /* Release DC. */ - GDK_GL_WINDOW_IMPL_WIN32_HDC_RELEASE (impl); -} - -static GdkGLConfig * -gdk_gl_window_impl_win32_get_gl_config (GdkGLDrawable *gldrawable) -{ - g_return_val_if_fail (GDK_IS_GL_WINDOW_IMPL_WIN32 (gldrawable), NULL); - - return GDK_GL_WINDOW_IMPL_WIN32 (gldrawable)->glconfig; -} - -PIXELFORMATDESCRIPTOR * -gdk_win32_gl_window_get_pfd (GdkGLWindow *glwindow) -{ - g_return_val_if_fail (GDK_IS_GL_WINDOW_IMPL_WIN32 (glwindow), NULL); - - return &(GDK_GL_WINDOW_IMPL_WIN32 (glwindow)->pfd); -} - -int -gdk_win32_gl_window_get_pixel_format (GdkGLWindow *glwindow) -{ - g_return_val_if_fail (GDK_IS_GL_WINDOW_IMPL_WIN32 (glwindow), 0); - - return GDK_GL_WINDOW_IMPL_WIN32 (glwindow)->pixel_format; -} diff --git a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwindow-win32.h b/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwindow-win32.h deleted file mode 100644 index c1c2c588..00000000 --- a/plugins/gtkui/gtkglext-gtk2/gdk/win32/gdkglwindow-win32.h +++ /dev/null @@ -1,73 +0,0 @@ -/* GdkGLExt - OpenGL Extension to GDK - * Copyright (C) 2002-2004 Naofumi Yasufuku - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - */ - -#ifndef __GDK_GL_WINDOW_WIN32_H__ -#define __GDK_GL_WINDOW_WIN32_H__ - -#include <gdk/gdkglwindow.h> -#include <gdk/win32/gdkglwin32.h> - -G_BEGIN_DECLS - -typedef struct _GdkGLWindowImplWin32 GdkGLWindowImplWin32; -typedef struct _GdkGLWindowImplWin32Class GdkGLWindowImplWin32Class; - -#define GDK_TYPE_GL_WINDOW_IMPL_WIN32 (gdk_gl_window_impl_win32_get_type ()) -#define GDK_GL_WINDOW_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GL_WINDOW_IMPL_WIN32, GdkGLWindowImplWin32)) -#define GDK_GL_WINDOW_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GL_WINDOW_IMPL_WIN32, GdkGLWindowImplWin32Class)) -#define GDK_IS_GL_WINDOW_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GL_WINDOW_IMPL_WIN32)) -#define GDK_IS_GL_WINDOW_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GL_WINDOW_IMPL_WIN32)) -#define GDK_GL_WINDOW_IMPL_WIN32_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GL_WINDOW_IMPL_WIN32, GdkGLWindowImplWin32Class)) - -struct _GdkGLWindowImplWin32 -{ - GdkGLWindow parent_instance; - - HWND hwnd; - - PIXELFORMATDESCRIPTOR pfd; - int pixel_format; - - GdkGLConfig *glconfig; - - /*< private >*/ - HDC hdc; - - guint is_destroyed : 1; - guint need_release_dc : 1; -}; - -struct _GdkGLWindowImplWin32Class -{ - GdkGLWindowClass parent_class; -}; - -GType gdk_gl_window_impl_win32_get_type (void); - -#define GDK_GL_WINDOW_IMPL_WIN32_HDC_GET(impl) \ - ( ((impl)->hdc != NULL) ? (impl)->hdc : ((impl)->hdc = GetDC ((impl)->hwnd)) ) - -#define GDK_GL_WINDOW_IMPL_WIN32_HDC_RELEASE(impl) \ - G_STMT_START { \ - if ((impl)->need_release_dc && (impl)->hdc != NULL) \ - { ReleaseDC ((impl)->hwnd, (impl)->hdc); (impl)->hdc = NULL; }; \ - } G_STMT_END - -G_END_DECLS - -#endif /* __GDK_GL_WINDOW_WIN32_H__ */ |