Diff

Not logged in

Differences From Artifact [d85b79a6d3b758cc]:

To Artifact [305164202924dd1b]:


1 - 2 1 /***********************************************************************\ 3 2 * windef.d * 4 3 * * 5 4 * Windows API header module * 6 5 * * 7 6 * Translated from MinGW Windows headers * 8 7 * by Stewart Gordon * ................................................................................ 12 11 module win32.windef; 13 12 14 13 public import win32.winnt; 15 14 private import win32.w32api; 16 15 17 16 const size_t MAX_PATH = 260; 18 17 19 -ushort MAKEWORD(ubyte a, ubyte b) 20 -{ 21 - return cast(ushort) ((b << 8) | a); 18 +ushort MAKEWORD(ubyte a, ubyte b) { 19 + return cast(ushort) ((b << 8) | a); 20 +} 21 + 22 +ushort MAKEWORD(ushort a, ushort b) { 23 + assert((a & 0xFF00) == 0); 24 + assert((b & 0xFF00) == 0); 25 + return MAKEWORD(cast(ubyte)a, cast(ubyte)b); 26 +} 27 + 28 +uint MAKELONG(ushort a, ushort b) { 29 + return cast(uint) ((b << 16) | a); 30 +} 31 + 32 +uint MAKELONG(uint a, uint b) { 33 + assert((a & 0xFFFF0000) == 0); 34 + assert((b & 0xFFFF0000) == 0); 35 + return MAKELONG(cast(ushort)a, cast(ushort)b); 36 +} 37 + 38 +ushort LOWORD(ulong l) { 39 + return cast(ushort) l; 40 +} 41 + 42 +ushort HIWORD(ulong l) { 43 + return cast(ushort) (l >>> 16); 22 44 } 23 45 24 - 25 -uint MAKELONG(ushort a, ushort b) 26 -{ 27 - return cast(uint) ((b << 16) | a); 46 +ubyte LOBYTE(ushort w) { 47 + return cast(ubyte) w; 28 48 } 29 49 30 - 31 -ushort LOWORD(uint l) 32 -{ 33 - return cast(ushort) l; 34 -} 35 - 36 - 37 -ushort HIWORD(uint l) 38 -{ 39 - return cast(ushort) (l >>> 16); 50 +ubyte HIBYTE(ushort w) { 51 + return cast(ubyte) (w >>> 8); 40 52 } 41 53 42 - 43 -ubyte LOBYTE(ushort w) 44 -{ 45 - return cast(ubyte) w; 46 -} 47 - 48 - 49 -ubyte HIBYTE(ushort w) 50 -{ 51 - return cast(ubyte) (w >>> 8); 52 -} 53 - 54 - 55 -/+ template max(T) { 56 - T max(T a, T b) 57 - { 58 - return a > b ? a : b; 59 - } 54 +template max(T) { 55 + T max(T a, T b) { 56 + return a > b ? a : b; 57 + } 60 58 } 61 59 62 60 template min(T) { 63 - T min(T a, T b) 64 - { 65 - return a < b ? a : b; 66 - } 67 -} +/ 61 + T min(T a, T b) { 62 + return a < b ? a : b; 63 + } 64 +} 68 65 69 -enum NULL = null; 70 -//~ alias null NULL; 71 -//~ const void *NULL = null; 72 -alias ubyte BYTE; 73 -alias ubyte *PBYTE, LPBYTE; 74 -alias ushort USHORT, WORD, ATOM; 75 -alias ushort*PUSHORT, PWORD, LPWORD; 76 -alias uint ULONG, DWORD, UINT, COLORREF; 77 -alias uint *PULONG, PDWORD, LPDWORD, PUINT, LPUINT; 78 -alias int WINBOOL, BOOL, INT, LONG, HFILE, HRESULT; 79 -alias int*PWINBOOL, LPWINBOOL, PBOOL, LPBOOL, PINT, LPINT, LPLONG; 80 -alias float FLOAT; 81 -alias float*PFLOAT; 82 -alias CPtr!(void) PCVOID, LPCVOID; 66 +enum void* NULL = null; 67 +alias ubyte BYTE; 68 +alias ubyte* PBYTE, LPBYTE; 69 +alias ushort USHORT, WORD, ATOM; 70 +alias ushort* PUSHORT, PWORD, LPWORD; 71 +alias uint ULONG, DWORD, UINT, COLORREF; 72 +alias uint* PULONG, PDWORD, LPDWORD, PUINT, LPUINT; 73 +alias int WINBOOL, BOOL, INT, LONG, HFILE, HRESULT; 74 +alias int* PWINBOOL, LPWINBOOL, PBOOL, LPBOOL, PINT, LPINT, LPLONG; 75 +alias float FLOAT; 76 +alias float* PFLOAT; 77 +alias const(void)* PCVOID, LPCVOID; 83 78 84 79 alias UINT_PTR WPARAM; 85 80 alias LONG_PTR LPARAM, LRESULT; 86 81 87 -alias HANDLE HGLOBAL, HLOCAL, GLOBALHANDLE, LOCALHANDLE, HGDIOBJ, HACCEL, 88 - HBITMAP, HBRUSH, HCOLORSPACE, HDC, HGLRC, HDESK, HENHMETAFILE, HFONT, 89 - HICON, HINSTANCE, HKEY, HMENU, HMETAFILE, HMODULE, HMONITOR, HPALETTE, HPEN, 90 - HRGN, HRSRC, HSTR, HTASK, HWND, HWINSTA, HKL, HCURSOR; 91 -alias HANDLE*PHKEY; 92 - 93 -static 82 +mixin DECLARE_HANDLE!("HGLOBAL"); 83 +mixin DECLARE_HANDLE!("HLOCAL"); 84 +mixin DECLARE_HANDLE!("GLOBALHANDLE"); 85 +mixin DECLARE_HANDLE!("LOCALHANDLE"); 86 +mixin DECLARE_HANDLE!("HGDIOBJ"); 87 +mixin DECLARE_HANDLE!("HACCEL"); 88 +mixin DECLARE_HANDLE!("HBITMAP", HGDIOBJ); 89 +mixin DECLARE_HANDLE!("HBRUSH", HGDIOBJ); 90 +mixin DECLARE_HANDLE!("HCOLORSPACE"); 91 +mixin DECLARE_HANDLE!("HDC"); 92 +mixin DECLARE_HANDLE!("HGLRC"); 93 +mixin DECLARE_HANDLE!("HDESK"); 94 +mixin DECLARE_HANDLE!("HENHMETAFILE"); 95 +mixin DECLARE_HANDLE!("HFONT", HGDIOBJ); 96 +mixin DECLARE_HANDLE!("HICON"); 97 +mixin DECLARE_HANDLE!("HINSTANCE"); 98 +mixin DECLARE_HANDLE!("HKEY"); 99 +mixin DECLARE_HANDLE!("HMENU"); 100 +mixin DECLARE_HANDLE!("HMETAFILE"); 101 +mixin DECLARE_HANDLE!("HMODULE"); 102 +mixin DECLARE_HANDLE!("HMONITOR"); 103 +mixin DECLARE_HANDLE!("HPALETTE"); 104 +mixin DECLARE_HANDLE!("HPEN", HGDIOBJ); 105 +mixin DECLARE_HANDLE!("HRGN", HGDIOBJ); 106 +mixin DECLARE_HANDLE!("HRSRC"); 107 +mixin DECLARE_HANDLE!("HSTR"); 108 +mixin DECLARE_HANDLE!("HTASK"); 109 +mixin DECLARE_HANDLE!("HWND"); 110 +mixin DECLARE_HANDLE!("HWINSTA"); 111 +mixin DECLARE_HANDLE!("HKL"); 112 +mixin DECLARE_HANDLE!("HCURSOR"); 113 +alias HKEY* PHKEY; 94 114 95 -if (WINVER >= 0x500) 96 -{ 97 - alias HANDLE HTERMINAL, HWINEVENTHOOK; 115 +static if (_WIN32_WINNT >= 0x500) { 116 + mixin DECLARE_HANDLE!("HTERMINAL"); 117 + mixin DECLARE_HANDLE!("HWINEVENTHOOK"); 98 118 } 99 119 100 -alias extern (Windows) int function() FARPROC, NEARPROC, PROC; 120 +alias extern (Windows) INT_PTR function() FARPROC, NEARPROC, PROC; 101 121 102 -struct RECT 103 -{ 104 - LONG left; 105 - LONG top; 106 - LONG right; 107 - LONG bottom; 122 +struct RECT { 123 + LONG left; 124 + LONG top; 125 + LONG right; 126 + LONG bottom; 108 127 } 109 128 alias RECT RECTL; 110 -alias RECT*PRECT, LPRECT, PRECTL, LPRECTL; 111 -alias CPtr!(RECT) LPCRECT, LPCRECTL; 129 +alias RECT* PRECT, LPRECT, PRECTL, LPRECTL; 130 +alias const(RECT)* LPCRECT, LPCRECTL; 112 131 113 -struct POINT 114 -{ 115 - LONG x; 116 - LONG y; 117 - alias x e1; 118 - alias y e2; 132 +struct POINT { 133 + LONG x; 134 + LONG y; 119 135 } 120 136 alias POINT POINTL; 121 -alias POINT*PPOINT, LPPOINT, PPOINTL, LPPOINTL; 137 +alias POINT* PPOINT, LPPOINT, PPOINTL, LPPOINTL; 122 138 123 -struct SIZE 124 -{ 125 - LONG cx; 126 - LONG cy; 139 +struct SIZE { 140 + LONG cx; 141 + LONG cy; 127 142 } 128 143 alias SIZE SIZEL; 129 -alias SIZE*PSIZE, LPSIZE, PSIZEL, LPSIZEL; 144 +alias SIZE* PSIZE, LPSIZE, PSIZEL, LPSIZEL; 130 145 131 -struct POINTS 132 -{ 133 - SHORT x; 134 - SHORT y; 146 +struct POINTS { 147 + SHORT x; 148 + SHORT y; 135 149 } 136 -alias POINTS*PPOINTS, LPPOINTS; 150 +alias POINTS* PPOINTS, LPPOINTS; 137 151 138 152 enum : BOOL { 139 - FALSE = 0, 140 - TRUE = 1 153 + FALSE = 0, 154 + TRUE = 1 141 155 }