1 // From WinNT.h
2 
3 pub type CHAR = super::__gl_imports::raw::c_char;
4 pub type HANDLE = PVOID;
5 pub type LONG = super::__gl_imports::raw::c_long;
6 pub type LPCSTR = *const super::__gl_imports::raw::c_char;
7 pub type VOID = ();
8 // #define DECLARE_HANDLE(name) struct name##__{int unused;}; typedef struct name##__ *name
9 pub type HPBUFFERARB = *const super::__gl_imports::raw::c_void;
10 pub type HPBUFFEREXT = *const super::__gl_imports::raw::c_void;
11 pub type HVIDEOOUTPUTDEVICENV = *const super::__gl_imports::raw::c_void;
12 pub type HPVIDEODEV = *const super::__gl_imports::raw::c_void;
13 pub type HPGPUNV = *const super::__gl_imports::raw::c_void;
14 pub type HGPUNV = *const super::__gl_imports::raw::c_void;
15 pub type HVIDEOINPUTDEVICENV = *const super::__gl_imports::raw::c_void;
16 
17 // From Windef.h
18 
19 pub type BOOL = super::__gl_imports::raw::c_int;
20 pub type BYTE = super::__gl_imports::raw::c_uchar;
21 pub type COLORREF = DWORD;
22 pub type FLOAT = super::__gl_imports::raw::c_float;
23 pub type HDC = HANDLE;
24 pub type HENHMETAFILE = HANDLE;
25 pub type HGLRC = *const super::__gl_imports::raw::c_void;
26 pub type INT = super::__gl_imports::raw::c_int;
27 pub type PVOID = *const super::__gl_imports::raw::c_void;
28 pub type LPVOID = *const super::__gl_imports::raw::c_void;
29 pub enum __PROC_fn {}
30 pub type PROC = *mut __PROC_fn;
31 
32 #[repr(C)]
33 pub struct RECT {
34     left: LONG,
35     top: LONG,
36     right: LONG,
37     bottom: LONG,
38 }
39 
40 pub type UINT = super::__gl_imports::raw::c_uint;
41 pub type USHORT = super::__gl_imports::raw::c_ushort;
42 pub type WORD = super::__gl_imports::raw::c_ushort;
43 
44 // From BaseTsd.h
45 
46 pub type INT32 = i32;
47 pub type INT64 = i64;
48 
49 // From IntSafe.h
50 
51 pub type DWORD = super::__gl_imports::raw::c_ulong;
52 
53 // From Wingdi.h
54 
55 #[repr(C)]
56 pub struct POINTFLOAT {
57     pub x: FLOAT,
58     pub y: FLOAT,
59 }
60 
61 #[repr(C)]
62 pub struct GLYPHMETRICSFLOAT {
63     pub gmfBlackBoxX: FLOAT,
64     pub gmfBlackBoxY: FLOAT,
65     pub gmfptGlyphOrigin: POINTFLOAT,
66     pub gmfCellIncX: FLOAT,
67     pub gmfCellIncY: FLOAT,
68 }
69 pub type LPGLYPHMETRICSFLOAT = *const GLYPHMETRICSFLOAT;
70 
71 #[repr(C)]
72 pub struct LAYERPLANEDESCRIPTOR {
73     pub nSize: WORD,
74     pub nVersion: WORD,
75     pub dwFlags: DWORD,
76     pub iPixelType: BYTE,
77     pub cColorBits: BYTE,
78     pub cRedBits: BYTE,
79     pub cRedShift: BYTE,
80     pub cGreenBits: BYTE,
81     pub cGreenShift: BYTE,
82     pub cBlueBits: BYTE,
83     pub cBlueShift: BYTE,
84     pub cAlphaBits: BYTE,
85     pub cAlphaShift: BYTE,
86     pub cAccumBits: BYTE,
87     pub cAccumRedBits: BYTE,
88     pub cAccumGreenBits: BYTE,
89     pub cAccumBlueBits: BYTE,
90     pub cAccumAlphaBits: BYTE,
91     pub cDepthBits: BYTE,
92     pub cStencilBits: BYTE,
93     pub cAuxBuffers: BYTE,
94     pub iLayerType: BYTE,
95     pub bReserved: BYTE,
96     pub crTransparent: COLORREF,
97 }
98 
99 #[repr(C)]
100 pub struct PIXELFORMATDESCRIPTOR {
101     pub nSize: WORD,
102     pub nVersion: WORD,
103     pub dwFlags: DWORD,
104     pub iPixelType: BYTE,
105     pub cColorBits: BYTE,
106     pub cRedBits: BYTE,
107     pub cRedShift: BYTE,
108     pub cGreenBits: BYTE,
109     pub cGreenShift: BYTE,
110     pub cBlueBits: BYTE,
111     pub cBlueShift: BYTE,
112     pub cAlphaBits: BYTE,
113     pub cAlphaShift: BYTE,
114     pub cAccumBits: BYTE,
115     pub cAccumRedBits: BYTE,
116     pub cAccumGreenBits: BYTE,
117     pub cAccumBlueBits: BYTE,
118     pub cAccumAlphaBits: BYTE,
119     pub cDepthBits: BYTE,
120     pub cStencilBits: BYTE,
121     pub cAuxBuffers: BYTE,
122     pub iLayerType: BYTE,
123     pub bReserved: BYTE,
124     pub dwLayerMask: DWORD,
125     pub dwVisibleMask: DWORD,
126     pub dwDamageMask: DWORD,
127 }
128 
129 #[repr(C)]
130 pub struct _GPU_DEVICE {
131     cb: DWORD,
132     DeviceName: [CHAR; 32],
133     DeviceString: [CHAR; 128],
134     Flags: DWORD,
135     rcVirtualScreen: RECT,
136 }
137 
138 pub struct GPU_DEVICE(_GPU_DEVICE);
139 pub struct PGPU_DEVICE(*const _GPU_DEVICE);
140