1 //
2 // Copyright 2015 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 
7 // functionswgl_typedefs.h: Typedefs of WGL functions.
8 
9 #ifndef LIBANGLE_RENDERER_GL_WGL_FUNCTIONSWGLTYPEDEFS_H_
10 #define LIBANGLE_RENDERER_GL_WGL_FUNCTIONSWGLTYPEDEFS_H_
11 
12 #include "common/platform.h"
13 
14 // This header must be included before wglext.h.
15 #include <angle_gl.h>
16 
17 #include <GL/wglext.h>
18 
19 namespace rx
20 {
21 
22 typedef BOOL(WINAPI *PFNWGLCOPYCONTEXTPROC)(HGLRC, HGLRC, UINT);
23 typedef HGLRC(WINAPI *PFNWGLCREATECONTEXTPROC)(HDC);
24 typedef HGLRC(WINAPI *PFNWGLCREATELAYERCONTEXTPROC)(HDC, int);
25 typedef BOOL(WINAPI *PFNWGLDELETECONTEXTPROC)(HGLRC);
26 typedef HGLRC(WINAPI *PFNWGLGETCURRENTCONTEXTPROC)(VOID);
27 typedef HDC(WINAPI *PFNWGLGETCURRENTDCPROC)(VOID);
28 typedef PROC(WINAPI *PFNWGLGETPROCADDRESSPROC)(LPCSTR);
29 typedef BOOL(WINAPI *PFNWGLMAKECURRENTPROC)(HDC, HGLRC);
30 typedef BOOL(WINAPI *PFNWGLSHARELISTSPROC)(HGLRC, HGLRC);
31 typedef BOOL(WINAPI *PFNWGLUSEFONTBITMAPSAPROC)(HDC, DWORD, DWORD, DWORD);
32 typedef BOOL(WINAPI *PFNWGLUSEFONTBITMAPSWPROC)(HDC, DWORD, DWORD, DWORD);
33 typedef BOOL(WINAPI *PFNSWAPBUFFERSPROC)(HDC);
34 typedef BOOL(WINAPI *PFNWGLUSEFONTOUTLINESAPROC)(HDC,
35                                                  DWORD,
36                                                  DWORD,
37                                                  DWORD,
38                                                  FLOAT,
39                                                  FLOAT,
40                                                  int,
41                                                  LPGLYPHMETRICSFLOAT);
42 typedef BOOL(WINAPI *PFNWGLUSEFONTOUTLINESWPROC)(HDC,
43                                                  DWORD,
44                                                  DWORD,
45                                                  DWORD,
46                                                  FLOAT,
47                                                  FLOAT,
48                                                  int,
49                                                  LPGLYPHMETRICSFLOAT);
50 typedef BOOL(WINAPI *PFNWGLDESCRIBELAYERPLANEPROC)(HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR);
51 typedef int(WINAPI *PFNWGLSETLAYERPALETTEENTRIESPROC)(HDC, int, int, int, CONST COLORREF *);
52 typedef int(WINAPI *PFNWGLGETLAYERPALETTEENTRIESPROC)(HDC, int, int, int, COLORREF *);
53 typedef BOOL(WINAPI *PFNWGLREALIZELAYERPALETTEPROC)(HDC, int, BOOL);
54 typedef BOOL(WINAPI *PFNWGLSWAPLAYERBUFFERSPROC)(HDC, UINT);
55 typedef DWORD(WINAPI *PFNWGLSWAPMULTIPLEBUFFERSPROC)(UINT, CONST WGLSWAP *);
56 
57 }  // namespace rx
58 
59 #endif  // LIBANGLE_RENDERER_GL_WGL_FUNCTIONSWGLTYPEDEFS_H_
60