1
0
Fork 0

GLAD WGL: Update to new version.

This commit is contained in:
Henrik Hautakoski 2020-09-21 17:57:34 +02:00
parent a96e78bca5
commit d8af100691
2 changed files with 232 additions and 209 deletions

View file

@ -14,6 +14,11 @@
#endif /* GLAD_IMPL_UTIL_C_ */ #endif /* GLAD_IMPL_UTIL_C_ */
#ifdef __cplusplus
extern "C" {
#endif
int GLAD_WGL_VERSION_1_0 = 0; int GLAD_WGL_VERSION_1_0 = 0;
int GLAD_WGL_ARB_create_context = 0; int GLAD_WGL_ARB_create_context = 0;
@ -32,21 +37,21 @@ PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT = NULL;
static void glad_wgl_load_WGL_ARB_create_context(GLADuserptrloadfunc load, void *userptr) { static void glad_wgl_load_WGL_ARB_create_context(GLADuserptrloadfunc load, void *userptr) {
if (!GLAD_WGL_ARB_create_context) return; if(!GLAD_WGL_ARB_create_context) return;
glad_wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)load(userptr, "wglCreateContextAttribsARB"); glad_wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC) load(userptr, "wglCreateContextAttribsARB");
} }
static void glad_wgl_load_WGL_ARB_extensions_string(GLADuserptrloadfunc load, void *userptr) { static void glad_wgl_load_WGL_ARB_extensions_string(GLADuserptrloadfunc load, void *userptr) {
if (!GLAD_WGL_ARB_extensions_string) return; if(!GLAD_WGL_ARB_extensions_string) return;
glad_wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)load(userptr, "wglGetExtensionsStringARB"); glad_wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC) load(userptr, "wglGetExtensionsStringARB");
} }
static void glad_wgl_load_WGL_EXT_extensions_string(GLADuserptrloadfunc load, void *userptr) { static void glad_wgl_load_WGL_EXT_extensions_string(GLADuserptrloadfunc load, void *userptr) {
if (!GLAD_WGL_EXT_extensions_string) return; if(!GLAD_WGL_EXT_extensions_string) return;
glad_wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)load(userptr, "wglGetExtensionsStringEXT"); glad_wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC) load(userptr, "wglGetExtensionsStringEXT");
} }
static void glad_wgl_load_WGL_EXT_swap_control(GLADuserptrloadfunc load, void *userptr) { static void glad_wgl_load_WGL_EXT_swap_control(GLADuserptrloadfunc load, void *userptr) {
if (!GLAD_WGL_EXT_swap_control) return; if(!GLAD_WGL_EXT_swap_control) return;
glad_wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC)load(userptr, "wglGetSwapIntervalEXT"); glad_wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC) load(userptr, "wglGetSwapIntervalEXT");
glad_wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)load(userptr, "wglSwapIntervalEXT"); glad_wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC) load(userptr, "wglSwapIntervalEXT");
} }
@ -58,24 +63,24 @@ static int glad_wgl_has_extension(HDC hdc, const char *ext) {
const char *loc; const char *loc;
const char *extensions; const char *extensions;
if (wglGetExtensionsStringEXT == NULL && wglGetExtensionsStringARB == NULL) if(wglGetExtensionsStringEXT == NULL && wglGetExtensionsStringARB == NULL)
return 0; return 0;
if (wglGetExtensionsStringARB == NULL || hdc == INVALID_HANDLE_VALUE) if(wglGetExtensionsStringARB == NULL || hdc == INVALID_HANDLE_VALUE)
extensions = wglGetExtensionsStringEXT(); extensions = wglGetExtensionsStringEXT();
else else
extensions = wglGetExtensionsStringARB(hdc); extensions = wglGetExtensionsStringARB(hdc);
if (extensions == NULL || ext == NULL) if(extensions == NULL || ext == NULL)
return 0; return 0;
while (1) { while(1) {
loc = strstr(extensions, ext); loc = strstr(extensions, ext);
if (loc == NULL) if(loc == NULL)
break; break;
terminator = loc + strlen(ext); terminator = loc + strlen(ext);
if ((loc == extensions || *(loc - 1) == ' ') && if((loc == extensions || *(loc - 1) == ' ') &&
(*terminator == ' ' || *terminator == '\0')) (*terminator == ' ' || *terminator == '\0'))
{ {
return 1; return 1;
@ -87,8 +92,7 @@ static int glad_wgl_has_extension(HDC hdc, const char *ext) {
} }
static GLADapiproc glad_wgl_get_proc_from_userptr(void *userptr, const char* name) { static GLADapiproc glad_wgl_get_proc_from_userptr(void *userptr, const char* name) {
return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
return (GLAD_GNUC_EXTENSION(GLADapiproc(*)(const char *name)) userptr)(name);
} }
static int glad_wgl_find_extensions_wgl(HDC hdc) { static int glad_wgl_find_extensions_wgl(HDC hdc) {
@ -108,9 +112,9 @@ static int glad_wgl_find_core_wgl(void) {
int gladLoadWGLUserPtr(HDC hdc, GLADuserptrloadfunc load, void *userptr) { int gladLoadWGLUserPtr(HDC hdc, GLADuserptrloadfunc load, void *userptr) {
int version; int version;
wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)load(userptr, "wglGetExtensionsStringARB"); wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC) load(userptr, "wglGetExtensionsStringARB");
wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)load(userptr, "wglGetExtensionsStringEXT"); wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC) load(userptr, "wglGetExtensionsStringEXT");
if (wglGetExtensionsStringARB == NULL && wglGetExtensionsStringEXT == NULL) return 0; if(wglGetExtensionsStringARB == NULL && wglGetExtensionsStringEXT == NULL) return 0;
version = glad_wgl_find_core_wgl(); version = glad_wgl_find_core_wgl();
@ -124,15 +128,24 @@ int gladLoadWGLUserPtr(HDC hdc, GLADuserptrloadfunc load, void *userptr) {
} }
int gladLoadWGL(HDC hdc, GLADloadfunc load) { int gladLoadWGL(HDC hdc, GLADloadfunc load) {
return gladLoadWGLUserPtr(hdc, glad_wgl_get_proc_from_userptr, GLAD_GNUC_EXTENSION(void*) load); return gladLoadWGLUserPtr(hdc, glad_wgl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
} }
#ifdef GLAD_WGL #ifdef GLAD_WGL
static GLADapiproc glad_wgl_get_proc(void *vuserptr, const char* name) {
(void) vuserptr;
return GLAD_GNUC_EXTENSION (GLADapiproc) wglGetProcAddress(name);
}
int gladLoaderLoadWGL(HDC hdc) { int gladLoaderLoadWGL(HDC hdc) {
return gladLoadWGLUserPtr(hdc, glad_wgl_get_proc_from_userptr, GLAD_GNUC_EXTENSION(void*) wglGetProcAddress); return gladLoadWGLUserPtr(hdc, glad_wgl_get_proc, NULL);
} }
#endif /* GLAD_WGL */ #endif /* GLAD_WGL */
#ifdef __cplusplus
}
#endif

View file

@ -1,29 +1,29 @@
/** /**
* Loader generated by glad 2.0.0-beta on Sun Dec 22 19:55:16 2019 * Loader generated by glad 2.0.0-beta on Mon Sep 21 17:37:19 2020
* *
* Generator: C/C++ * Generator: C/C++
* Specification: wgl * Specification: wgl
* Extensions: 5 * Extensions: 5
* *
* APIs: * APIs:
* - wgl=1.0 * - wgl=1.0
* *
* Options: * Options:
* - MX_GLOBAL = False * - MX_GLOBAL = False
* - ON_DEMAND = False * - ON_DEMAND = False
* - LOADER = True * - LOADER = True
* - ALIAS = True * - ALIAS = True
* - HEADER_ONLY = False * - HEADER_ONLY = False
* - DEBUG = False * - DEBUG = False
* - MX = False * - MX = False
* *
* Commandline: * Commandline:
* --api='wgl=1.0' --extensions='WGL_ARB_create_context,WGL_ARB_create_context_profile,WGL_ARB_extensions_string,WGL_EXT_extensions_string,WGL_EXT_swap_control' c --loader --alias * --api='wgl=1.0' --extensions='WGL_ARB_create_context,WGL_ARB_create_context_profile,WGL_ARB_extensions_string,WGL_EXT_extensions_string,WGL_EXT_swap_control' c --loader --alias
* *
* Online: * Online:
* http://glad.sh/#api=wgl%3D1.0&extensions=WGL_ARB_create_context%2CWGL_ARB_create_context_profile%2CWGL_ARB_extensions_string%2CWGL_EXT_extensions_string%2CWGL_EXT_swap_control&generator=c&options=LOADER%2CALIAS * http://glad.sh/#api=wgl%3D1.0&extensions=WGL_ARB_create_context%2CWGL_ARB_create_context_profile%2CWGL_ARB_extensions_string%2CWGL_EXT_extensions_string%2CWGL_EXT_swap_control&generator=c&options=LOADER%2CALIAS
* *
*/ */
#ifndef GLAD_WGL_H_ #ifndef GLAD_WGL_H_
#define GLAD_WGL_H_ #define GLAD_WGL_H_
@ -43,90 +43,90 @@ extern "C" {
#define GLAD_PLATFORM_H_ #define GLAD_PLATFORM_H_
#ifndef GLAD_PLATFORM_WIN32 #ifndef GLAD_PLATFORM_WIN32
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__) #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
#define GLAD_PLATFORM_WIN32 1 #define GLAD_PLATFORM_WIN32 1
#else #else
#define GLAD_PLATFORM_WIN32 0 #define GLAD_PLATFORM_WIN32 0
#endif #endif
#endif #endif
#ifndef GLAD_PLATFORM_APPLE #ifndef GLAD_PLATFORM_APPLE
#ifdef __APPLE__ #ifdef __APPLE__
#define GLAD_PLATFORM_APPLE 1 #define GLAD_PLATFORM_APPLE 1
#else #else
#define GLAD_PLATFORM_APPLE 0 #define GLAD_PLATFORM_APPLE 0
#endif #endif
#endif #endif
#ifndef GLAD_PLATFORM_EMSCRIPTEN #ifndef GLAD_PLATFORM_EMSCRIPTEN
#ifdef __EMSCRIPTEN__ #ifdef __EMSCRIPTEN__
#define GLAD_PLATFORM_EMSCRIPTEN 1 #define GLAD_PLATFORM_EMSCRIPTEN 1
#else #else
#define GLAD_PLATFORM_EMSCRIPTEN 0 #define GLAD_PLATFORM_EMSCRIPTEN 0
#endif #endif
#endif #endif
#ifndef GLAD_PLATFORM_UWP #ifndef GLAD_PLATFORM_UWP
#if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY) #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
#ifdef __has_include #ifdef __has_include
#if __has_include(<winapifamily.h>) #if __has_include(<winapifamily.h>)
#define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1 #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
#endif #endif
#elif _MSC_VER >= 1700 && !_USING_V110_SDK71_ #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
#define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1 #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
#endif #endif
#endif #endif
#ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
#include <winapifamily.h> #include <winapifamily.h>
#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#define GLAD_PLATFORM_UWP 1 #define GLAD_PLATFORM_UWP 1
#endif #endif
#endif #endif
#ifndef GLAD_PLATFORM_UWP #ifndef GLAD_PLATFORM_UWP
#define GLAD_PLATFORM_UWP 0 #define GLAD_PLATFORM_UWP 0
#endif #endif
#endif #endif
#ifdef __GNUC__ #ifdef __GNUC__
#define GLAD_GNUC_EXTENSION __extension__ #define GLAD_GNUC_EXTENSION __extension__
#else #else
#define GLAD_GNUC_EXTENSION #define GLAD_GNUC_EXTENSION
#endif #endif
#ifndef GLAD_API_CALL #ifndef GLAD_API_CALL
#if defined(GLAD_API_CALL_EXPORT) #if defined(GLAD_API_CALL_EXPORT)
#if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__) #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
#if defined(GLAD_API_CALL_EXPORT_BUILD) #if defined(GLAD_API_CALL_EXPORT_BUILD)
#if defined(__GNUC__) #if defined(__GNUC__)
#define GLAD_API_CALL __attribute__ ((dllexport)) extern #define GLAD_API_CALL __attribute__ ((dllexport)) extern
#else #else
#define GLAD_API_CALL __declspec(dllexport) extern #define GLAD_API_CALL __declspec(dllexport) extern
#endif #endif
#else #else
#if defined(__GNUC__) #if defined(__GNUC__)
#define GLAD_API_CALL __attribute__ ((dllimport)) extern #define GLAD_API_CALL __attribute__ ((dllimport)) extern
#else #else
#define GLAD_API_CALL __declspec(dllimport) extern #define GLAD_API_CALL __declspec(dllimport) extern
#endif #endif
#endif #endif
#elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD) #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
#define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern
#else #else
#define GLAD_API_CALL extern #define GLAD_API_CALL extern
#endif #endif
#else #else
#define GLAD_API_CALL extern #define GLAD_API_CALL extern
#endif #endif
#endif #endif
#ifdef APIENTRY #ifdef APIENTRY
#define GLAD_API_PTR APIENTRY #define GLAD_API_PTR APIENTRY
#elif GLAD_PLATFORM_WIN32 #elif GLAD_PLATFORM_WIN32
#define GLAD_API_PTR __stdcall #define GLAD_API_PTR __stdcall
#else #else
#define GLAD_API_PTR #define GLAD_API_PTR
#endif #endif
#ifndef GLAPI #ifndef GLAPI
@ -143,13 +143,13 @@ extern "C" {
#define GLAD_GENERATOR_VERSION "2.0.0-beta" #define GLAD_GENERATOR_VERSION "2.0.0-beta"
typedef void(*GLADapiproc)(void); typedef void (*GLADapiproc)(void);
typedef GLADapiproc(*GLADloadfunc)(const char *name); typedef GLADapiproc (*GLADloadfunc)(const char *name);
typedef GLADapiproc(*GLADuserptrloadfunc)(void *userptr, const char *name); typedef GLADapiproc (*GLADuserptrloadfunc)(void *userptr, const char *name);
typedef void(*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...); typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...);
typedef void(*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...); typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...);
#endif /* GLAD_PLATFORM_H_ */ #endif /* GLAD_PLATFORM_H_ */
@ -229,91 +229,101 @@ extern "C" {
struct _GPU_DEVICE { struct _GPU_DEVICE {
DWORD cb; DWORD cb;
CHAR DeviceName[32]; CHAR DeviceName[32];
CHAR DeviceString[128]; CHAR DeviceString[128];
DWORD Flags; DWORD Flags;
RECT rcVirtualScreen; RECT rcVirtualScreen;
}; };
DECLARE_HANDLE(HPBUFFERARB);
DECLARE_HANDLE(HPBUFFEREXT); DECLARE_HANDLE(HPBUFFERARB);
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
DECLARE_HANDLE(HPVIDEODEV); DECLARE_HANDLE(HPBUFFEREXT);
DECLARE_HANDLE(HPGPUNV);
DECLARE_HANDLE(HGPUNV); DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
typedef struct _GPU_DEVICE GPU_DEVICE; DECLARE_HANDLE(HPVIDEODEV);
typedef struct _GPU_DEVICE *PGPU_DEVICE;
DECLARE_HANDLE(HPGPUNV);
DECLARE_HANDLE(HGPUNV);
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
typedef struct _GPU_DEVICE GPU_DEVICE;
typedef struct _GPU_DEVICE *PGPU_DEVICE;
#define WGL_VERSION_1_0 1 #define WGL_VERSION_1_0 1
GLAD_API_CALL int GLAD_WGL_VERSION_1_0; GLAD_API_CALL int GLAD_WGL_VERSION_1_0;
#define WGL_ARB_create_context 1 #define WGL_ARB_create_context 1
GLAD_API_CALL int GLAD_WGL_ARB_create_context; GLAD_API_CALL int GLAD_WGL_ARB_create_context;
#define WGL_ARB_create_context_profile 1 #define WGL_ARB_create_context_profile 1
GLAD_API_CALL int GLAD_WGL_ARB_create_context_profile; GLAD_API_CALL int GLAD_WGL_ARB_create_context_profile;
#define WGL_ARB_extensions_string 1 #define WGL_ARB_extensions_string 1
GLAD_API_CALL int GLAD_WGL_ARB_extensions_string; GLAD_API_CALL int GLAD_WGL_ARB_extensions_string;
#define WGL_EXT_extensions_string 1 #define WGL_EXT_extensions_string 1
GLAD_API_CALL int GLAD_WGL_EXT_extensions_string; GLAD_API_CALL int GLAD_WGL_EXT_extensions_string;
#define WGL_EXT_swap_control 1 #define WGL_EXT_swap_control 1
GLAD_API_CALL int GLAD_WGL_EXT_swap_control; GLAD_API_CALL int GLAD_WGL_EXT_swap_control;
typedef int (GLAD_API_PTR *PFNCHOOSEPIXELFORMATPROC)(HDC hDc, const PIXELFORMATDESCRIPTOR * pPfd); typedef int (GLAD_API_PTR *PFNCHOOSEPIXELFORMATPROC)(HDC hDc, const PIXELFORMATDESCRIPTOR * pPfd);
typedef int (GLAD_API_PTR *PFNDESCRIBEPIXELFORMATPROC)(HDC hdc, int ipfd, UINT cjpfd, const PIXELFORMATDESCRIPTOR * ppfd); typedef int (GLAD_API_PTR *PFNDESCRIBEPIXELFORMATPROC)(HDC hdc, int ipfd, UINT cjpfd, const PIXELFORMATDESCRIPTOR * ppfd);
typedef UINT(GLAD_API_PTR *PFNGETENHMETAFILEPIXELFORMATPROC)(HENHMETAFILE hemf, const PIXELFORMATDESCRIPTOR * ppfd); typedef UINT (GLAD_API_PTR *PFNGETENHMETAFILEPIXELFORMATPROC)(HENHMETAFILE hemf, const PIXELFORMATDESCRIPTOR * ppfd);
typedef int (GLAD_API_PTR *PFNGETPIXELFORMATPROC)(HDC hdc); typedef int (GLAD_API_PTR *PFNGETPIXELFORMATPROC)(HDC hdc);
typedef BOOL(GLAD_API_PTR *PFNSETPIXELFORMATPROC)(HDC hdc, int ipfd, const PIXELFORMATDESCRIPTOR * ppfd); typedef BOOL (GLAD_API_PTR *PFNSETPIXELFORMATPROC)(HDC hdc, int ipfd, const PIXELFORMATDESCRIPTOR * ppfd);
typedef BOOL(GLAD_API_PTR *PFNSWAPBUFFERSPROC)(HDC hdc); typedef BOOL (GLAD_API_PTR *PFNSWAPBUFFERSPROC)(HDC hdc);
typedef BOOL(GLAD_API_PTR *PFNWGLCOPYCONTEXTPROC)(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask); typedef BOOL (GLAD_API_PTR *PFNWGLCOPYCONTEXTPROC)(HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask);
typedef HGLRC(GLAD_API_PTR *PFNWGLCREATECONTEXTPROC)(HDC hDc); typedef HGLRC (GLAD_API_PTR *PFNWGLCREATECONTEXTPROC)(HDC hDc);
typedef HGLRC(GLAD_API_PTR *PFNWGLCREATECONTEXTATTRIBSARBPROC)(HDC hDC, HGLRC hShareContext, const int * attribList); typedef HGLRC (GLAD_API_PTR *PFNWGLCREATECONTEXTATTRIBSARBPROC)(HDC hDC, HGLRC hShareContext, const int * attribList);
typedef HGLRC(GLAD_API_PTR *PFNWGLCREATELAYERCONTEXTPROC)(HDC hDc, int level); typedef HGLRC (GLAD_API_PTR *PFNWGLCREATELAYERCONTEXTPROC)(HDC hDc, int level);
typedef BOOL(GLAD_API_PTR *PFNWGLDELETECONTEXTPROC)(HGLRC oldContext); typedef BOOL (GLAD_API_PTR *PFNWGLDELETECONTEXTPROC)(HGLRC oldContext);
typedef BOOL(GLAD_API_PTR *PFNWGLDESCRIBELAYERPLANEPROC)(HDC hDc, int pixelFormat, int layerPlane, UINT nBytes, const LAYERPLANEDESCRIPTOR * plpd); typedef BOOL (GLAD_API_PTR *PFNWGLDESCRIBELAYERPLANEPROC)(HDC hDc, int pixelFormat, int layerPlane, UINT nBytes, const LAYERPLANEDESCRIPTOR * plpd);
typedef HGLRC(GLAD_API_PTR *PFNWGLGETCURRENTCONTEXTPROC)(void); typedef HGLRC (GLAD_API_PTR *PFNWGLGETCURRENTCONTEXTPROC)(void);
typedef HDC(GLAD_API_PTR *PFNWGLGETCURRENTDCPROC)(void); typedef HDC (GLAD_API_PTR *PFNWGLGETCURRENTDCPROC)(void);
typedef const char * (GLAD_API_PTR *PFNWGLGETEXTENSIONSSTRINGARBPROC)(HDC hdc); typedef const char * (GLAD_API_PTR *PFNWGLGETEXTENSIONSSTRINGARBPROC)(HDC hdc);
typedef const char * (GLAD_API_PTR *PFNWGLGETEXTENSIONSSTRINGEXTPROC)(void); typedef const char * (GLAD_API_PTR *PFNWGLGETEXTENSIONSSTRINGEXTPROC)(void);
typedef int (GLAD_API_PTR *PFNWGLGETLAYERPALETTEENTRIESPROC)(HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF * pcr); typedef int (GLAD_API_PTR *PFNWGLGETLAYERPALETTEENTRIESPROC)(HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF * pcr);
typedef PROC(GLAD_API_PTR *PFNWGLGETPROCADDRESSPROC)(LPCSTR lpszProc); typedef PROC (GLAD_API_PTR *PFNWGLGETPROCADDRESSPROC)(LPCSTR lpszProc);
typedef int (GLAD_API_PTR *PFNWGLGETSWAPINTERVALEXTPROC)(void); typedef int (GLAD_API_PTR *PFNWGLGETSWAPINTERVALEXTPROC)(void);
typedef BOOL(GLAD_API_PTR *PFNWGLMAKECURRENTPROC)(HDC hDc, HGLRC newContext); typedef BOOL (GLAD_API_PTR *PFNWGLMAKECURRENTPROC)(HDC hDc, HGLRC newContext);
typedef BOOL(GLAD_API_PTR *PFNWGLREALIZELAYERPALETTEPROC)(HDC hdc, int iLayerPlane, BOOL bRealize); typedef BOOL (GLAD_API_PTR *PFNWGLREALIZELAYERPALETTEPROC)(HDC hdc, int iLayerPlane, BOOL bRealize);
typedef int (GLAD_API_PTR *PFNWGLSETLAYERPALETTEENTRIESPROC)(HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF * pcr); typedef int (GLAD_API_PTR *PFNWGLSETLAYERPALETTEENTRIESPROC)(HDC hdc, int iLayerPlane, int iStart, int cEntries, const COLORREF * pcr);
typedef BOOL(GLAD_API_PTR *PFNWGLSHARELISTSPROC)(HGLRC hrcSrvShare, HGLRC hrcSrvSource); typedef BOOL (GLAD_API_PTR *PFNWGLSHARELISTSPROC)(HGLRC hrcSrvShare, HGLRC hrcSrvSource);
typedef BOOL(GLAD_API_PTR *PFNWGLSWAPINTERVALEXTPROC)(int interval); typedef BOOL (GLAD_API_PTR *PFNWGLSWAPINTERVALEXTPROC)(int interval);
typedef BOOL(GLAD_API_PTR *PFNWGLSWAPLAYERBUFFERSPROC)(HDC hdc, UINT fuFlags); typedef BOOL (GLAD_API_PTR *PFNWGLSWAPLAYERBUFFERSPROC)(HDC hdc, UINT fuFlags);
typedef BOOL(GLAD_API_PTR *PFNWGLUSEFONTBITMAPSPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase); typedef BOOL (GLAD_API_PTR *PFNWGLUSEFONTBITMAPSPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
typedef BOOL(GLAD_API_PTR *PFNWGLUSEFONTBITMAPSAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase); typedef BOOL (GLAD_API_PTR *PFNWGLUSEFONTBITMAPSAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
typedef BOOL(GLAD_API_PTR *PFNWGLUSEFONTBITMAPSWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase); typedef BOOL (GLAD_API_PTR *PFNWGLUSEFONTBITMAPSWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase);
typedef BOOL(GLAD_API_PTR *PFNWGLUSEFONTOUTLINESPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf); typedef BOOL (GLAD_API_PTR *PFNWGLUSEFONTOUTLINESPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
typedef BOOL(GLAD_API_PTR *PFNWGLUSEFONTOUTLINESAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf); typedef BOOL (GLAD_API_PTR *PFNWGLUSEFONTOUTLINESAPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
typedef BOOL(GLAD_API_PTR *PFNWGLUSEFONTOUTLINESWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf); typedef BOOL (GLAD_API_PTR *PFNWGLUSEFONTOUTLINESWPROC)(HDC hDC, DWORD first, DWORD count, DWORD listBase, FLOAT deviation, FLOAT extrusion, int format, LPGLYPHMETRICSFLOAT lpgmf);
GLAD_API_CALL PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB; GLAD_API_CALL PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB;
#define wglCreateContextAttribsARB glad_wglCreateContextAttribsARB #define wglCreateContextAttribsARB glad_wglCreateContextAttribsARB
GLAD_API_CALL PFNWGLGETEXTENSIONSSTRINGARBPROC glad_wglGetExtensionsStringARB; GLAD_API_CALL PFNWGLGETEXTENSIONSSTRINGARBPROC glad_wglGetExtensionsStringARB;
#define wglGetExtensionsStringARB glad_wglGetExtensionsStringARB #define wglGetExtensionsStringARB glad_wglGetExtensionsStringARB
GLAD_API_CALL PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT; GLAD_API_CALL PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT;
#define wglGetExtensionsStringEXT glad_wglGetExtensionsStringEXT #define wglGetExtensionsStringEXT glad_wglGetExtensionsStringEXT
GLAD_API_CALL PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT; GLAD_API_CALL PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT;
#define wglGetSwapIntervalEXT glad_wglGetSwapIntervalEXT #define wglGetSwapIntervalEXT glad_wglGetSwapIntervalEXT
GLAD_API_CALL PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT; GLAD_API_CALL PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT;
#define wglSwapIntervalEXT glad_wglSwapIntervalEXT #define wglSwapIntervalEXT glad_wglSwapIntervalEXT
GLAD_API_CALL int gladLoadWGLUserPtr(HDC hdc, GLADuserptrloadfunc load, void *userptr); GLAD_API_CALL int gladLoadWGLUserPtr(HDC hdc, GLADuserptrloadfunc load, void *userptr);
GLAD_API_CALL int gladLoadWGL(HDC hdc, GLADloadfunc load); GLAD_API_CALL int gladLoadWGL(HDC hdc, GLADloadfunc load);
#ifdef GLAD_WGL #ifdef GLAD_WGL
GLAD_API_CALL int gladLoaderLoadWGL(HDC hdc); GLAD_API_CALL int gladLoaderLoadWGL(HDC hdc);
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus