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