]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys-0.42.0/src/Windows/Win32/UI/Input/Pointer/mod.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / vendor / windows-sys-0.42.0 / src / Windows / Win32 / UI / Input / Pointer / mod.rs
1 #[cfg_attr(windows, link(name = "windows"))]
2 extern "system" {
3 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`*"]
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn EnableMouseInPointer(fenable: super::super::super::Foundation::BOOL) -> super::super::super::Foundation::BOOL;
6 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`*"]
7 #[cfg(feature = "Win32_Foundation")]
8 pub fn GetPointerCursorId(pointerid: u32, cursorid: *mut u32) -> super::super::super::Foundation::BOOL;
9 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_UI_Controls\"`*"]
10 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_UI_Controls"))]
11 pub fn GetPointerDevice(device: super::super::super::Foundation::HANDLE, pointerdevice: *mut super::super::Controls::POINTER_DEVICE_INFO) -> super::super::super::Foundation::BOOL;
12 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_Controls\"`*"]
13 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Controls"))]
14 pub fn GetPointerDeviceCursors(device: super::super::super::Foundation::HANDLE, cursorcount: *mut u32, devicecursors: *mut super::super::Controls::POINTER_DEVICE_CURSOR_INFO) -> super::super::super::Foundation::BOOL;
15 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_Controls\"`*"]
16 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Controls"))]
17 pub fn GetPointerDeviceProperties(device: super::super::super::Foundation::HANDLE, propertycount: *mut u32, pointerproperties: *mut super::super::Controls::POINTER_DEVICE_PROPERTY) -> super::super::super::Foundation::BOOL;
18 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`*"]
19 #[cfg(feature = "Win32_Foundation")]
20 pub fn GetPointerDeviceRects(device: super::super::super::Foundation::HANDLE, pointerdevicerect: *mut super::super::super::Foundation::RECT, displayrect: *mut super::super::super::Foundation::RECT) -> super::super::super::Foundation::BOOL;
21 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_UI_Controls\"`*"]
22 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_UI_Controls"))]
23 pub fn GetPointerDevices(devicecount: *mut u32, pointerdevices: *mut super::super::Controls::POINTER_DEVICE_INFO) -> super::super::super::Foundation::BOOL;
24 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
25 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
26 pub fn GetPointerFrameInfo(pointerid: u32, pointercount: *mut u32, pointerinfo: *mut POINTER_INFO) -> super::super::super::Foundation::BOOL;
27 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
28 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
29 pub fn GetPointerFrameInfoHistory(pointerid: u32, entriescount: *mut u32, pointercount: *mut u32, pointerinfo: *mut POINTER_INFO) -> super::super::super::Foundation::BOOL;
30 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
31 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
32 pub fn GetPointerFramePenInfo(pointerid: u32, pointercount: *mut u32, peninfo: *mut POINTER_PEN_INFO) -> super::super::super::Foundation::BOOL;
33 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
34 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
35 pub fn GetPointerFramePenInfoHistory(pointerid: u32, entriescount: *mut u32, pointercount: *mut u32, peninfo: *mut POINTER_PEN_INFO) -> super::super::super::Foundation::BOOL;
36 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
37 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
38 pub fn GetPointerFrameTouchInfo(pointerid: u32, pointercount: *mut u32, touchinfo: *mut POINTER_TOUCH_INFO) -> super::super::super::Foundation::BOOL;
39 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
40 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
41 pub fn GetPointerFrameTouchInfoHistory(pointerid: u32, entriescount: *mut u32, pointercount: *mut u32, touchinfo: *mut POINTER_TOUCH_INFO) -> super::super::super::Foundation::BOOL;
42 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
43 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
44 pub fn GetPointerInfo(pointerid: u32, pointerinfo: *mut POINTER_INFO) -> super::super::super::Foundation::BOOL;
45 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
46 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
47 pub fn GetPointerInfoHistory(pointerid: u32, entriescount: *mut u32, pointerinfo: *mut POINTER_INFO) -> super::super::super::Foundation::BOOL;
48 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`*"]
49 #[cfg(feature = "Win32_Foundation")]
50 pub fn GetPointerInputTransform(pointerid: u32, historycount: u32, inputtransform: *mut INPUT_TRANSFORM) -> super::super::super::Foundation::BOOL;
51 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
52 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
53 pub fn GetPointerPenInfo(pointerid: u32, peninfo: *mut POINTER_PEN_INFO) -> super::super::super::Foundation::BOOL;
54 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
55 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
56 pub fn GetPointerPenInfoHistory(pointerid: u32, entriescount: *mut u32, peninfo: *mut POINTER_PEN_INFO) -> super::super::super::Foundation::BOOL;
57 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
58 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
59 pub fn GetPointerTouchInfo(pointerid: u32, touchinfo: *mut POINTER_TOUCH_INFO) -> super::super::super::Foundation::BOOL;
60 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
61 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
62 pub fn GetPointerTouchInfoHistory(pointerid: u32, entriescount: *mut u32, touchinfo: *mut POINTER_TOUCH_INFO) -> super::super::super::Foundation::BOOL;
63 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
64 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
65 pub fn GetPointerType(pointerid: u32, pointertype: *mut super::super::WindowsAndMessaging::POINTER_INPUT_TYPE) -> super::super::super::Foundation::BOOL;
66 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_Controls\"`*"]
67 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Controls"))]
68 pub fn GetRawPointerDeviceData(pointerid: u32, historycount: u32, propertiescount: u32, pproperties: *const super::super::Controls::POINTER_DEVICE_PROPERTY, pvalues: *mut i32) -> super::super::super::Foundation::BOOL;
69 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
70 pub fn GetUnpredictedMessagePos() -> u32;
71 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`*"]
72 #[cfg(feature = "Win32_Foundation")]
73 pub fn InitializeTouchInjection(maxcount: u32, dwmode: TOUCH_FEEDBACK_MODE) -> super::super::super::Foundation::BOOL;
74 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_Controls\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
75 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Controls", feature = "Win32_UI_WindowsAndMessaging"))]
76 pub fn InjectSyntheticPointerInput(device: super::super::Controls::HSYNTHETICPOINTERDEVICE, pointerinfo: *const super::super::Controls::POINTER_TYPE_INFO, count: u32) -> super::super::super::Foundation::BOOL;
77 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
78 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
79 pub fn InjectTouchInput(count: u32, contacts: *const POINTER_TOUCH_INFO) -> super::super::super::Foundation::BOOL;
80 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`*"]
81 #[cfg(feature = "Win32_Foundation")]
82 pub fn IsMouseInPointerEnabled() -> super::super::super::Foundation::BOOL;
83 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`*"]
84 #[cfg(feature = "Win32_Foundation")]
85 pub fn SkipPointerFrameMessages(pointerid: u32) -> super::super::super::Foundation::BOOL;
86 }
87 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
88 pub type POINTER_BUTTON_CHANGE_TYPE = i32;
89 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
90 pub const POINTER_CHANGE_NONE: POINTER_BUTTON_CHANGE_TYPE = 0i32;
91 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
92 pub const POINTER_CHANGE_FIRSTBUTTON_DOWN: POINTER_BUTTON_CHANGE_TYPE = 1i32;
93 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
94 pub const POINTER_CHANGE_FIRSTBUTTON_UP: POINTER_BUTTON_CHANGE_TYPE = 2i32;
95 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
96 pub const POINTER_CHANGE_SECONDBUTTON_DOWN: POINTER_BUTTON_CHANGE_TYPE = 3i32;
97 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
98 pub const POINTER_CHANGE_SECONDBUTTON_UP: POINTER_BUTTON_CHANGE_TYPE = 4i32;
99 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
100 pub const POINTER_CHANGE_THIRDBUTTON_DOWN: POINTER_BUTTON_CHANGE_TYPE = 5i32;
101 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
102 pub const POINTER_CHANGE_THIRDBUTTON_UP: POINTER_BUTTON_CHANGE_TYPE = 6i32;
103 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
104 pub const POINTER_CHANGE_FOURTHBUTTON_DOWN: POINTER_BUTTON_CHANGE_TYPE = 7i32;
105 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
106 pub const POINTER_CHANGE_FOURTHBUTTON_UP: POINTER_BUTTON_CHANGE_TYPE = 8i32;
107 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
108 pub const POINTER_CHANGE_FIFTHBUTTON_DOWN: POINTER_BUTTON_CHANGE_TYPE = 9i32;
109 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
110 pub const POINTER_CHANGE_FIFTHBUTTON_UP: POINTER_BUTTON_CHANGE_TYPE = 10i32;
111 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
112 pub type POINTER_FLAGS = u32;
113 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
114 pub const POINTER_FLAG_NONE: POINTER_FLAGS = 0u32;
115 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
116 pub const POINTER_FLAG_NEW: POINTER_FLAGS = 1u32;
117 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
118 pub const POINTER_FLAG_INRANGE: POINTER_FLAGS = 2u32;
119 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
120 pub const POINTER_FLAG_INCONTACT: POINTER_FLAGS = 4u32;
121 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
122 pub const POINTER_FLAG_FIRSTBUTTON: POINTER_FLAGS = 16u32;
123 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
124 pub const POINTER_FLAG_SECONDBUTTON: POINTER_FLAGS = 32u32;
125 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
126 pub const POINTER_FLAG_THIRDBUTTON: POINTER_FLAGS = 64u32;
127 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
128 pub const POINTER_FLAG_FOURTHBUTTON: POINTER_FLAGS = 128u32;
129 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
130 pub const POINTER_FLAG_FIFTHBUTTON: POINTER_FLAGS = 256u32;
131 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
132 pub const POINTER_FLAG_PRIMARY: POINTER_FLAGS = 8192u32;
133 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
134 pub const POINTER_FLAG_CONFIDENCE: POINTER_FLAGS = 16384u32;
135 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
136 pub const POINTER_FLAG_CANCELED: POINTER_FLAGS = 32768u32;
137 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
138 pub const POINTER_FLAG_DOWN: POINTER_FLAGS = 65536u32;
139 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
140 pub const POINTER_FLAG_UPDATE: POINTER_FLAGS = 131072u32;
141 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
142 pub const POINTER_FLAG_UP: POINTER_FLAGS = 262144u32;
143 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
144 pub const POINTER_FLAG_WHEEL: POINTER_FLAGS = 524288u32;
145 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
146 pub const POINTER_FLAG_HWHEEL: POINTER_FLAGS = 1048576u32;
147 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
148 pub const POINTER_FLAG_CAPTURECHANGED: POINTER_FLAGS = 2097152u32;
149 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
150 pub const POINTER_FLAG_HASTRANSFORM: POINTER_FLAGS = 4194304u32;
151 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
152 pub type TOUCH_FEEDBACK_MODE = u32;
153 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
154 pub const TOUCH_FEEDBACK_DEFAULT: TOUCH_FEEDBACK_MODE = 1u32;
155 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
156 pub const TOUCH_FEEDBACK_INDIRECT: TOUCH_FEEDBACK_MODE = 2u32;
157 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
158 pub const TOUCH_FEEDBACK_NONE: TOUCH_FEEDBACK_MODE = 3u32;
159 #[repr(C)]
160 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
161 pub struct INPUT_INJECTION_VALUE {
162 pub page: u16,
163 pub usage: u16,
164 pub value: i32,
165 pub index: u16,
166 }
167 impl ::core::marker::Copy for INPUT_INJECTION_VALUE {}
168 impl ::core::clone::Clone for INPUT_INJECTION_VALUE {
169 fn clone(&self) -> Self {
170 *self
171 }
172 }
173 #[repr(C)]
174 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
175 pub struct INPUT_TRANSFORM {
176 pub Anonymous: INPUT_TRANSFORM_0,
177 }
178 impl ::core::marker::Copy for INPUT_TRANSFORM {}
179 impl ::core::clone::Clone for INPUT_TRANSFORM {
180 fn clone(&self) -> Self {
181 *self
182 }
183 }
184 #[repr(C)]
185 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
186 pub union INPUT_TRANSFORM_0 {
187 pub Anonymous: INPUT_TRANSFORM_0_0,
188 pub m: [f32; 16],
189 }
190 impl ::core::marker::Copy for INPUT_TRANSFORM_0 {}
191 impl ::core::clone::Clone for INPUT_TRANSFORM_0 {
192 fn clone(&self) -> Self {
193 *self
194 }
195 }
196 #[repr(C)]
197 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`*"]
198 pub struct INPUT_TRANSFORM_0_0 {
199 pub _11: f32,
200 pub _12: f32,
201 pub _13: f32,
202 pub _14: f32,
203 pub _21: f32,
204 pub _22: f32,
205 pub _23: f32,
206 pub _24: f32,
207 pub _31: f32,
208 pub _32: f32,
209 pub _33: f32,
210 pub _34: f32,
211 pub _41: f32,
212 pub _42: f32,
213 pub _43: f32,
214 pub _44: f32,
215 }
216 impl ::core::marker::Copy for INPUT_TRANSFORM_0_0 {}
217 impl ::core::clone::Clone for INPUT_TRANSFORM_0_0 {
218 fn clone(&self) -> Self {
219 *self
220 }
221 }
222 #[repr(C)]
223 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
224 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
225 pub struct POINTER_INFO {
226 pub pointerType: super::super::WindowsAndMessaging::POINTER_INPUT_TYPE,
227 pub pointerId: u32,
228 pub frameId: u32,
229 pub pointerFlags: POINTER_FLAGS,
230 pub sourceDevice: super::super::super::Foundation::HANDLE,
231 pub hwndTarget: super::super::super::Foundation::HWND,
232 pub ptPixelLocation: super::super::super::Foundation::POINT,
233 pub ptHimetricLocation: super::super::super::Foundation::POINT,
234 pub ptPixelLocationRaw: super::super::super::Foundation::POINT,
235 pub ptHimetricLocationRaw: super::super::super::Foundation::POINT,
236 pub dwTime: u32,
237 pub historyCount: u32,
238 pub InputData: i32,
239 pub dwKeyStates: u32,
240 pub PerformanceCount: u64,
241 pub ButtonChangeType: POINTER_BUTTON_CHANGE_TYPE,
242 }
243 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
244 impl ::core::marker::Copy for POINTER_INFO {}
245 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
246 impl ::core::clone::Clone for POINTER_INFO {
247 fn clone(&self) -> Self {
248 *self
249 }
250 }
251 #[repr(C)]
252 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
253 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
254 pub struct POINTER_PEN_INFO {
255 pub pointerInfo: POINTER_INFO,
256 pub penFlags: u32,
257 pub penMask: u32,
258 pub pressure: u32,
259 pub rotation: u32,
260 pub tiltX: i32,
261 pub tiltY: i32,
262 }
263 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
264 impl ::core::marker::Copy for POINTER_PEN_INFO {}
265 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
266 impl ::core::clone::Clone for POINTER_PEN_INFO {
267 fn clone(&self) -> Self {
268 *self
269 }
270 }
271 #[repr(C)]
272 #[doc = "*Required features: `\"Win32_UI_Input_Pointer\"`, `\"Win32_Foundation\"`, `\"Win32_UI_WindowsAndMessaging\"`*"]
273 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
274 pub struct POINTER_TOUCH_INFO {
275 pub pointerInfo: POINTER_INFO,
276 pub touchFlags: u32,
277 pub touchMask: u32,
278 pub rcContact: super::super::super::Foundation::RECT,
279 pub rcContactRaw: super::super::super::Foundation::RECT,
280 pub orientation: u32,
281 pub pressure: u32,
282 }
283 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
284 impl ::core::marker::Copy for POINTER_TOUCH_INFO {}
285 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_WindowsAndMessaging"))]
286 impl ::core::clone::Clone for POINTER_TOUCH_INFO {
287 fn clone(&self) -> Self {
288 *self
289 }
290 }