]>
Commit | Line | Data |
---|---|---|
ff7c6d11 XL |
1 | // Licensed under the Apache License, Version 2.0 |
2 | // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | |
3 | // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. | |
4 | // All files in the project carrying such notice may not be copied, modified, or distributed | |
5 | // except according to those terms. | |
6 | //! Basic Windows Type Definitions | |
7 | use ctypes::c_void; | |
8 | use shared::minwindef::{DWORD, HFILE, WORD}; | |
9 | use um::winnt::{LONG, SHORT}; | |
0bf4aa26 XL |
10 | DECLARE_HANDLE!{HWND, HWND__} |
11 | DECLARE_HANDLE!{HHOOK, HHOOK__} | |
ff7c6d11 | 12 | pub type HGDIOBJ = *mut c_void; |
0bf4aa26 XL |
13 | DECLARE_HANDLE!{HACCEL, HACCEL__} |
14 | DECLARE_HANDLE!{HBITMAP, HBITMAP__} | |
15 | DECLARE_HANDLE!{HBRUSH, HBRUSH__} | |
16 | DECLARE_HANDLE!{HCOLORSPACE, HCOLORSPACE__} | |
17 | DECLARE_HANDLE!{HDC, HDC__} | |
18 | DECLARE_HANDLE!{HGLRC, HGLRC__} | |
19 | DECLARE_HANDLE!{HDESK, HDESK__} | |
20 | DECLARE_HANDLE!{HENHMETAFILE, HENHMETAFILE__} | |
21 | DECLARE_HANDLE!{HFONT, HFONT__} | |
22 | DECLARE_HANDLE!{HICON, HICON__} | |
23 | DECLARE_HANDLE!{HMENU, HMENU__} | |
24 | DECLARE_HANDLE!{HPALETTE, HPALETTE__} | |
25 | DECLARE_HANDLE!{HPEN, HPEN__} | |
26 | DECLARE_HANDLE!{HWINEVENTHOOK, HWINEVENTHOOK__} | |
27 | DECLARE_HANDLE!{HMONITOR, HMONITOR__} | |
28 | DECLARE_HANDLE!{HUMPD, HUMPD__} | |
ff7c6d11 XL |
29 | pub type HCURSOR = HICON; |
30 | pub type COLORREF = DWORD; | |
31 | pub type LPCOLORREF = *mut DWORD; | |
32 | pub const HFILE_ERROR: HFILE = -1; | |
8faf50e0 | 33 | STRUCT!{#[debug] struct RECT { |
ff7c6d11 XL |
34 | left: LONG, |
35 | top: LONG, | |
36 | right: LONG, | |
37 | bottom: LONG, | |
38 | }} | |
39 | pub type PRECT = *mut RECT; | |
40 | pub type NPRECT = *mut RECT; | |
41 | pub type LPRECT = *mut RECT; | |
42 | pub type LPCRECT = *const RECT; | |
8faf50e0 | 43 | STRUCT!{#[debug] struct RECTL { |
ff7c6d11 XL |
44 | left: LONG, |
45 | top: LONG, | |
46 | right: LONG, | |
47 | bottom: LONG, | |
48 | }} | |
49 | pub type PRECTL = *mut RECTL; | |
50 | pub type LPRECTL = *mut RECTL; | |
51 | pub type LPCRECTL = *const RECTL; | |
52 | STRUCT!{struct POINT { | |
53 | x: LONG, | |
54 | y: LONG, | |
55 | }} | |
56 | pub type PPOINT = *mut POINT; | |
57 | pub type NPPOINT = *mut POINT; | |
58 | pub type LPPOINT = *mut POINT; | |
59 | STRUCT!{struct POINTL { | |
60 | x: LONG, | |
61 | y: LONG, | |
62 | }} | |
63 | pub type PPOINTL = *mut POINTL; | |
64 | STRUCT!{struct SIZE { | |
65 | cx: LONG, | |
66 | cy: LONG, | |
67 | }} | |
68 | pub type PSIZE = *mut SIZE; | |
69 | pub type LPSIZE = *mut SIZE; | |
70 | pub type SIZEL = SIZE; | |
71 | pub type PSIZEL = *mut SIZE; | |
72 | pub type LPSIZEL = *mut SIZE; | |
73 | STRUCT!{struct POINTS { | |
74 | x: SHORT, | |
75 | y: SHORT, | |
76 | }} | |
77 | pub type PPOINTS = *mut POINTS; | |
78 | pub type LPPOINTS = *mut POINTS; | |
79 | pub const DM_UPDATE: WORD = 1; | |
80 | pub const DM_COPY: WORD = 2; | |
81 | pub const DM_PROMPT: WORD = 4; | |
82 | pub const DM_MODIFY: WORD = 8; | |
83 | pub const DM_IN_BUFFER: WORD = DM_MODIFY; | |
84 | pub const DM_IN_PROMPT: WORD = DM_PROMPT; | |
85 | pub const DM_OUT_BUFFER: WORD = DM_COPY; | |
86 | pub const DM_OUT_DEFAULT: WORD = DM_UPDATE; | |
87 | pub const DC_FIELDS: DWORD = 1; | |
88 | pub const DC_PAPERS: DWORD = 2; | |
89 | pub const DC_PAPERSIZE: DWORD = 3; | |
90 | pub const DC_MINEXTENT: DWORD = 4; | |
91 | pub const DC_MAXEXTENT: DWORD = 5; | |
92 | pub const DC_BINS: DWORD = 6; | |
93 | pub const DC_DUPLEX: DWORD = 7; | |
94 | pub const DC_SIZE: DWORD = 8; | |
95 | pub const DC_EXTRA: DWORD = 9; | |
96 | pub const DC_VERSION: DWORD = 10; | |
97 | pub const DC_DRIVER: DWORD = 11; | |
98 | pub const DC_BINNAMES: DWORD = 12; | |
99 | pub const DC_ENUMRESOLUTIONS: DWORD = 13; | |
100 | pub const DC_FILEDEPENDENCIES: DWORD = 14; | |
101 | pub const DC_TRUETYPE: DWORD = 15; | |
102 | pub const DC_PAPERNAMES: DWORD = 16; | |
103 | pub const DC_ORIENTATION: DWORD = 17; | |
104 | pub const DC_COPIES: DWORD = 18; | |
0bf4aa26 | 105 | DECLARE_HANDLE!{DPI_AWARENESS_CONTEXT, DPI_AWARENESS_CONTEXT__} |
ff7c6d11 XL |
106 | ENUM!{enum DPI_AWARENESS { |
107 | DPI_AWARENESS_INVALID = -1i32 as u32, | |
108 | DPI_AWARENESS_UNAWARE = 0, | |
109 | DPI_AWARENESS_SYSTEM_AWARE = 1, | |
110 | DPI_AWARENESS_PER_MONITOR_AWARE = 2, | |
111 | }} | |
112 | pub const DPI_AWARENESS_CONTEXT_UNAWARE: DPI_AWARENESS_CONTEXT = -1isize as DPI_AWARENESS_CONTEXT; | |
113 | pub const DPI_AWARENESS_CONTEXT_SYSTEM_AWARE: DPI_AWARENESS_CONTEXT | |
114 | = -2isize as DPI_AWARENESS_CONTEXT; | |
115 | pub const DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE: DPI_AWARENESS_CONTEXT | |
116 | = -3isize as DPI_AWARENESS_CONTEXT; | |
60c5eb7d XL |
117 | pub const DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2: DPI_AWARENESS_CONTEXT |
118 | = -4isize as DPI_AWARENESS_CONTEXT; | |
119 | pub const DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED: DPI_AWARENESS_CONTEXT | |
120 | = -5isize as DPI_AWARENESS_CONTEXT; | |
121 | ENUM!{enum DPI_HOSTING_BEHAVIOR { | |
122 | DPI_HOSTING_BEHAVIOR_INVALID = -1i32 as u32, | |
123 | DPI_HOSTING_BEHAVIOR_DEFAULT = 0, | |
124 | DPI_HOSTING_BEHAVIOR_MIXED = 1, | |
125 | }} |