1 // Copyright © 2015, Peter Atashian 2 // Licensed under the MIT License <LICENSE.md> 3 //! Basic Windows Type Definitions 4 DECLARE_HANDLE!(HWND, HWND__); 5 DECLARE_HANDLE!(HHOOK, HHOOK__); 6 DECLARE_HANDLE!(HEVENT, HEVENT__); 7 pub type HGDIOBJ = *mut ::c_void; 8 DECLARE_HANDLE!(HACCEL, HACCEL__); 9 DECLARE_HANDLE!(HBITMAP, HBITMAP__); 10 DECLARE_HANDLE!(HBRUSH, HBRUSH__); 11 DECLARE_HANDLE!(HCOLORSPACE, HCOLORSPACE__); 12 DECLARE_HANDLE!(HDC, HDC__); 13 DECLARE_HANDLE!(HGLRC, HGLRC__); 14 DECLARE_HANDLE!(HDESK, HDESK__); 15 DECLARE_HANDLE!(HENHMETAFILE, HENHMETAFILE__); 16 DECLARE_HANDLE!(HFONT, HFONT__); 17 DECLARE_HANDLE!(HICON, HICON__); 18 DECLARE_HANDLE!(HMENU, HMENU__); 19 DECLARE_HANDLE!(HPALETTE, HPALETTE__); 20 DECLARE_HANDLE!(HPEN, HPEN__); 21 DECLARE_HANDLE!(HWINEVENTHOOK, HWINEVENTHOOK__); 22 DECLARE_HANDLE!(HMONITOR, HMONITOR__); 23 DECLARE_HANDLE!(HUMPD, HUMPD__); 24 pub type HCURSOR = HICON; 25 pub type COLORREF = ::DWORD; 26 pub type LPCOLORREF = *mut ::DWORD; 27 STRUCT!{struct RECT { 28 left: ::LONG, 29 top: ::LONG, 30 right: ::LONG, 31 bottom: ::LONG, 32 }} 33 pub type PRECT = *mut RECT; 34 pub type NPRECT = *mut RECT; 35 pub type LPRECT = *mut RECT; 36 pub type LPCRECT = *const RECT; 37 STRUCT!{struct RECTL { 38 left: ::LONG, 39 top: ::LONG, 40 right: ::LONG, 41 bottom: ::LONG, 42 }} 43 pub type PRECTL = *mut RECTL; 44 pub type LPRECTL = *mut RECTL; 45 pub type LPCRECTL = *const RECTL; 46 STRUCT!{struct POINT { 47 x: ::LONG, 48 y: ::LONG, 49 }} 50 pub type PPOINT = *mut POINT; 51 pub type NPPOINT = *mut POINT; 52 pub type LPPOINT = *mut POINT; 53 STRUCT!{struct POINTL { 54 x: ::LONG, 55 y: ::LONG, 56 }} 57 pub type PPOINTL = *mut POINTL; 58