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