21 #include "../../SDL_internal.h"
23 #ifndef _SDL_windowsopengl_h
24 #define _SDL_windowsopengl_h
26 #if SDL_VIDEO_OPENGL_WGL
31 SDL_bool HAS_WGL_EXT_swap_control_tear;
32 SDL_bool HAS_WGL_EXT_create_context_es2_profile;
33 SDL_bool HAS_WGL_ARB_context_flush_control;
35 void *(WINAPI * wglGetProcAddress) (
const char *proc);
36 HGLRC(WINAPI * wglCreateContext) (HDC hdc);
37 BOOL(WINAPI * wglDeleteContext) (HGLRC hglrc);
38 BOOL(WINAPI * wglMakeCurrent) (HDC hdc, HGLRC hglrc);
39 BOOL(WINAPI * wglShareLists) (HGLRC hglrc1, HGLRC hglrc2);
40 BOOL(WINAPI * wglChoosePixelFormatARB) (HDC hdc,
41 const int *piAttribIList,
42 const FLOAT * pfAttribFList,
46 BOOL(WINAPI * wglGetPixelFormatAttribivARB) (HDC hdc,
int iPixelFormat,
49 const int *piAttributes,
51 BOOL (WINAPI * wglSwapIntervalEXT) (
int interval);
52 int (WINAPI * wglGetSwapIntervalEXT) (
void);
56 extern int WIN_GL_LoadLibrary(
_THIS,
const char *
path);
57 extern void *WIN_GL_GetProcAddress(
_THIS,
const char *proc);
58 extern void WIN_GL_UnloadLibrary(
_THIS);
63 extern int WIN_GL_SetSwapInterval(
_THIS,
int interval);
64 extern int WIN_GL_GetSwapInterval(
_THIS);
67 extern void WIN_GL_InitExtensions(
_THIS);
70 #ifndef WGL_ARB_pixel_format
71 #define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
72 #define WGL_DRAW_TO_WINDOW_ARB 0x2001
73 #define WGL_DRAW_TO_BITMAP_ARB 0x2002
74 #define WGL_ACCELERATION_ARB 0x2003
75 #define WGL_NEED_PALETTE_ARB 0x2004
76 #define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
77 #define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
78 #define WGL_SWAP_METHOD_ARB 0x2007
79 #define WGL_NUMBER_OVERLAYS_ARB 0x2008
80 #define WGL_NUMBER_UNDERLAYS_ARB 0x2009
81 #define WGL_TRANSPARENT_ARB 0x200A
82 #define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
83 #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
84 #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
85 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
86 #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
87 #define WGL_SHARE_DEPTH_ARB 0x200C
88 #define WGL_SHARE_STENCIL_ARB 0x200D
89 #define WGL_SHARE_ACCUM_ARB 0x200E
90 #define WGL_SUPPORT_GDI_ARB 0x200F
91 #define WGL_SUPPORT_OPENGL_ARB 0x2010
92 #define WGL_DOUBLE_BUFFER_ARB 0x2011
93 #define WGL_STEREO_ARB 0x2012
94 #define WGL_PIXEL_TYPE_ARB 0x2013
95 #define WGL_COLOR_BITS_ARB 0x2014
96 #define WGL_RED_BITS_ARB 0x2015
97 #define WGL_RED_SHIFT_ARB 0x2016
98 #define WGL_GREEN_BITS_ARB 0x2017
99 #define WGL_GREEN_SHIFT_ARB 0x2018
100 #define WGL_BLUE_BITS_ARB 0x2019
101 #define WGL_BLUE_SHIFT_ARB 0x201A
102 #define WGL_ALPHA_BITS_ARB 0x201B
103 #define WGL_ALPHA_SHIFT_ARB 0x201C
104 #define WGL_ACCUM_BITS_ARB 0x201D
105 #define WGL_ACCUM_RED_BITS_ARB 0x201E
106 #define WGL_ACCUM_GREEN_BITS_ARB 0x201F
107 #define WGL_ACCUM_BLUE_BITS_ARB 0x2020
108 #define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
109 #define WGL_DEPTH_BITS_ARB 0x2022
110 #define WGL_STENCIL_BITS_ARB 0x2023
111 #define WGL_AUX_BUFFERS_ARB 0x2024
112 #define WGL_NO_ACCELERATION_ARB 0x2025
113 #define WGL_GENERIC_ACCELERATION_ARB 0x2026
114 #define WGL_FULL_ACCELERATION_ARB 0x2027
115 #define WGL_SWAP_EXCHANGE_ARB 0x2028
116 #define WGL_SWAP_COPY_ARB 0x2029
117 #define WGL_SWAP_UNDEFINED_ARB 0x202A
118 #define WGL_TYPE_RGBA_ARB 0x202B
119 #define WGL_TYPE_COLORINDEX_ARB 0x202C
122 #ifndef WGL_ARB_multisample
123 #define WGL_SAMPLE_BUFFERS_ARB 0x2041
124 #define WGL_SAMPLES_ARB 0x2042
void * SDL_GLContext
An opaque handle to an OpenGL context.
SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char const char SDL_SCANF_FORMAT_STRING const char return SDL_ThreadFunction const char void return Uint32 return Uint32 void
The type used to identify a window.
GLsizei const GLchar *const * path