// GENERATED FILE - DO NOT EDIT.
// Generated by generate_loader.py using data from wgl.xml.
//
// Copyright 2020 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// wgl_loader_autogen.h:
//   Simple WGL function loader.

#ifndef UTIL_WINDOWS_WGL_LOADER_AUTOGEN_H_
#define UTIL_WINDOWS_WGL_LOADER_AUTOGEN_H_

#include <GLES2/gl2.h>
#include <WGL/wgl.h>

// We add an underscore before each function name to ensure common names like "ChoosePixelFormat"
// and "SwapBuffers" don't conflict with our function pointers. We can't use a namespace because
// some functions conflict with preprocessor definitions.

#define _ChoosePixelFormat ANGLE__ChoosePixelFormat
#define _DescribePixelFormat ANGLE__DescribePixelFormat
#define _GetEnhMetaFilePixelFormat ANGLE__GetEnhMetaFilePixelFormat
#define _GetPixelFormat ANGLE__GetPixelFormat
#define _SetPixelFormat ANGLE__SetPixelFormat
#define _SwapBuffers ANGLE__SwapBuffers
#define _wglCopyContext ANGLE__wglCopyContext
#define _wglCreateContext ANGLE__wglCreateContext
#define _wglCreateLayerContext ANGLE__wglCreateLayerContext
#define _wglDeleteContext ANGLE__wglDeleteContext
#define _wglDescribeLayerPlane ANGLE__wglDescribeLayerPlane
#define _wglGetCurrentContext ANGLE__wglGetCurrentContext
#define _wglGetCurrentDC ANGLE__wglGetCurrentDC
#define _wglGetLayerPaletteEntries ANGLE__wglGetLayerPaletteEntries
#define _wglGetProcAddress ANGLE__wglGetProcAddress
#define _wglMakeCurrent ANGLE__wglMakeCurrent
#define _wglRealizeLayerPalette ANGLE__wglRealizeLayerPalette
#define _wglSetLayerPaletteEntries ANGLE__wglSetLayerPaletteEntries
#define _wglShareLists ANGLE__wglShareLists
#define _wglSwapLayerBuffers ANGLE__wglSwapLayerBuffers
#define _wglUseFontBitmaps ANGLE__wglUseFontBitmaps
#define _wglUseFontBitmapsA ANGLE__wglUseFontBitmapsA
#define _wglUseFontBitmapsW ANGLE__wglUseFontBitmapsW
#define _wglUseFontOutlines ANGLE__wglUseFontOutlines
#define _wglUseFontOutlinesA ANGLE__wglUseFontOutlinesA
#define _wglUseFontOutlinesW ANGLE__wglUseFontOutlinesW
#define _wglCreateContextAttribsARB ANGLE__wglCreateContextAttribsARB
#define _wglGetExtensionsStringARB ANGLE__wglGetExtensionsStringARB
#define _wglGetSwapIntervalEXT ANGLE__wglGetSwapIntervalEXT
#define _wglSwapIntervalEXT ANGLE__wglSwapIntervalEXT
extern PFNCHOOSEPIXELFORMATPROC ANGLE__ChoosePixelFormat;
extern PFNDESCRIBEPIXELFORMATPROC ANGLE__DescribePixelFormat;
extern PFNGETENHMETAFILEPIXELFORMATPROC ANGLE__GetEnhMetaFilePixelFormat;
extern PFNGETPIXELFORMATPROC ANGLE__GetPixelFormat;
extern PFNSETPIXELFORMATPROC ANGLE__SetPixelFormat;
extern PFNSWAPBUFFERSPROC ANGLE__SwapBuffers;
extern PFNWGLCOPYCONTEXTPROC ANGLE__wglCopyContext;
extern PFNWGLCREATECONTEXTPROC ANGLE__wglCreateContext;
extern PFNWGLCREATELAYERCONTEXTPROC ANGLE__wglCreateLayerContext;
extern PFNWGLDELETECONTEXTPROC ANGLE__wglDeleteContext;
extern PFNWGLDESCRIBELAYERPLANEPROC ANGLE__wglDescribeLayerPlane;
extern PFNWGLGETCURRENTCONTEXTPROC ANGLE__wglGetCurrentContext;
extern PFNWGLGETCURRENTDCPROC ANGLE__wglGetCurrentDC;
extern PFNWGLGETLAYERPALETTEENTRIESPROC ANGLE__wglGetLayerPaletteEntries;
extern PFNWGLGETPROCADDRESSPROC ANGLE__wglGetProcAddress;
extern PFNWGLMAKECURRENTPROC ANGLE__wglMakeCurrent;
extern PFNWGLREALIZELAYERPALETTEPROC ANGLE__wglRealizeLayerPalette;
extern PFNWGLSETLAYERPALETTEENTRIESPROC ANGLE__wglSetLayerPaletteEntries;
extern PFNWGLSHARELISTSPROC ANGLE__wglShareLists;
extern PFNWGLSWAPLAYERBUFFERSPROC ANGLE__wglSwapLayerBuffers;
extern PFNWGLUSEFONTBITMAPSPROC ANGLE__wglUseFontBitmaps;
extern PFNWGLUSEFONTBITMAPSAPROC ANGLE__wglUseFontBitmapsA;
extern PFNWGLUSEFONTBITMAPSWPROC ANGLE__wglUseFontBitmapsW;
extern PFNWGLUSEFONTOUTLINESPROC ANGLE__wglUseFontOutlines;
extern PFNWGLUSEFONTOUTLINESAPROC ANGLE__wglUseFontOutlinesA;
extern PFNWGLUSEFONTOUTLINESWPROC ANGLE__wglUseFontOutlinesW;
extern PFNWGLCREATECONTEXTATTRIBSARBPROC ANGLE__wglCreateContextAttribsARB;
extern PFNWGLGETEXTENSIONSSTRINGARBPROC ANGLE__wglGetExtensionsStringARB;
extern PFNWGLGETSWAPINTERVALEXTPROC ANGLE__wglGetSwapIntervalEXT;
extern PFNWGLSWAPINTERVALEXTPROC ANGLE__wglSwapIntervalEXT;

namespace angle
{
using GenericProc = void (*)();
using LoadProc    = GenericProc(KHRONOS_APIENTRY *)(const char *);
void LoadWGL(LoadProc loadProc);
}  // namespace angle

#endif  // UTIL_WINDOWS_WGL_LOADER_AUTOGEN_H_
