]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Win32/UI/InteractionContext/mod.rs
New upstream version 1.61.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / UI / InteractionContext / mod.rs
1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
3 extern "system" {
4 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
5 pub fn AddPointerInteractionContext(interactioncontext: HINTERACTIONCONTEXT, pointerid: u32) -> ::windows_sys::core::HRESULT;
6 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_Foundation', 'Win32_UI_Input_Pointer', 'Win32_UI_WindowsAndMessaging'*"]
7 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Input_Pointer", feature = "Win32_UI_WindowsAndMessaging"))]
8 pub fn BufferPointerPacketsInteractionContext(interactioncontext: HINTERACTIONCONTEXT, entriescount: u32, pointerinfo: *const super::Input::Pointer::POINTER_INFO) -> ::windows_sys::core::HRESULT;
9 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
10 pub fn CreateInteractionContext(interactioncontext: *mut HINTERACTIONCONTEXT) -> ::windows_sys::core::HRESULT;
11 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
12 pub fn DestroyInteractionContext(interactioncontext: HINTERACTIONCONTEXT) -> ::windows_sys::core::HRESULT;
13 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
14 pub fn GetCrossSlideParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, threshold: CROSS_SLIDE_THRESHOLD, distance: *mut f32) -> ::windows_sys::core::HRESULT;
15 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
16 pub fn GetHoldParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, parameter: HOLD_PARAMETER, value: *mut f32) -> ::windows_sys::core::HRESULT;
17 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
18 pub fn GetInertiaParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, inertiaparameter: INERTIA_PARAMETER, value: *mut f32) -> ::windows_sys::core::HRESULT;
19 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
20 pub fn GetInteractionConfigurationInteractionContext(interactioncontext: HINTERACTIONCONTEXT, configurationcount: u32, configuration: *mut INTERACTION_CONTEXT_CONFIGURATION) -> ::windows_sys::core::HRESULT;
21 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
22 pub fn GetMouseWheelParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, parameter: MOUSE_WHEEL_PARAMETER, value: *mut f32) -> ::windows_sys::core::HRESULT;
23 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
24 pub fn GetPropertyInteractionContext(interactioncontext: HINTERACTIONCONTEXT, contextproperty: INTERACTION_CONTEXT_PROPERTY, value: *mut u32) -> ::windows_sys::core::HRESULT;
25 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_Foundation', 'Win32_UI_Input_Pointer', 'Win32_UI_WindowsAndMessaging'*"]
26 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Input_Pointer", feature = "Win32_UI_WindowsAndMessaging"))]
27 pub fn GetStateInteractionContext(interactioncontext: HINTERACTIONCONTEXT, pointerinfo: *const super::Input::Pointer::POINTER_INFO, state: *mut INTERACTION_STATE) -> ::windows_sys::core::HRESULT;
28 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
29 pub fn GetTapParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, parameter: TAP_PARAMETER, value: *mut f32) -> ::windows_sys::core::HRESULT;
30 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
31 pub fn GetTranslationParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, parameter: TRANSLATION_PARAMETER, value: *mut f32) -> ::windows_sys::core::HRESULT;
32 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
33 pub fn ProcessBufferedPacketsInteractionContext(interactioncontext: HINTERACTIONCONTEXT) -> ::windows_sys::core::HRESULT;
34 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
35 pub fn ProcessInertiaInteractionContext(interactioncontext: HINTERACTIONCONTEXT) -> ::windows_sys::core::HRESULT;
36 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_Foundation', 'Win32_UI_Input_Pointer', 'Win32_UI_WindowsAndMessaging'*"]
37 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_UI_Input_Pointer", feature = "Win32_UI_WindowsAndMessaging"))]
38 pub fn ProcessPointerFramesInteractionContext(interactioncontext: HINTERACTIONCONTEXT, entriescount: u32, pointercount: u32, pointerinfo: *const super::Input::Pointer::POINTER_INFO) -> ::windows_sys::core::HRESULT;
39 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_UI_WindowsAndMessaging'*"]
40 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
41 pub fn RegisterOutputCallbackInteractionContext(interactioncontext: HINTERACTIONCONTEXT, outputcallback: INTERACTION_CONTEXT_OUTPUT_CALLBACK, clientdata: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
42 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_UI_WindowsAndMessaging'*"]
43 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
44 pub fn RegisterOutputCallbackInteractionContext2(interactioncontext: HINTERACTIONCONTEXT, outputcallback: INTERACTION_CONTEXT_OUTPUT_CALLBACK2, clientdata: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
45 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
46 pub fn RemovePointerInteractionContext(interactioncontext: HINTERACTIONCONTEXT, pointerid: u32) -> ::windows_sys::core::HRESULT;
47 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
48 pub fn ResetInteractionContext(interactioncontext: HINTERACTIONCONTEXT) -> ::windows_sys::core::HRESULT;
49 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
50 pub fn SetCrossSlideParametersInteractionContext(interactioncontext: HINTERACTIONCONTEXT, parametercount: u32, crossslideparameters: *const CROSS_SLIDE_PARAMETER) -> ::windows_sys::core::HRESULT;
51 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
52 pub fn SetHoldParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, parameter: HOLD_PARAMETER, value: f32) -> ::windows_sys::core::HRESULT;
53 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
54 pub fn SetInertiaParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, inertiaparameter: INERTIA_PARAMETER, value: f32) -> ::windows_sys::core::HRESULT;
55 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
56 pub fn SetInteractionConfigurationInteractionContext(interactioncontext: HINTERACTIONCONTEXT, configurationcount: u32, configuration: *const INTERACTION_CONTEXT_CONFIGURATION) -> ::windows_sys::core::HRESULT;
57 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
58 pub fn SetMouseWheelParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, parameter: MOUSE_WHEEL_PARAMETER, value: f32) -> ::windows_sys::core::HRESULT;
59 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
60 pub fn SetPivotInteractionContext(interactioncontext: HINTERACTIONCONTEXT, x: f32, y: f32, radius: f32) -> ::windows_sys::core::HRESULT;
61 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
62 pub fn SetPropertyInteractionContext(interactioncontext: HINTERACTIONCONTEXT, contextproperty: INTERACTION_CONTEXT_PROPERTY, value: u32) -> ::windows_sys::core::HRESULT;
63 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
64 pub fn SetTapParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, parameter: TAP_PARAMETER, value: f32) -> ::windows_sys::core::HRESULT;
65 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
66 pub fn SetTranslationParameterInteractionContext(interactioncontext: HINTERACTIONCONTEXT, parameter: TRANSLATION_PARAMETER, value: f32) -> ::windows_sys::core::HRESULT;
67 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
68 pub fn StopInteractionContext(interactioncontext: HINTERACTIONCONTEXT) -> ::windows_sys::core::HRESULT;
69 }
70 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
71 pub type CROSS_SLIDE_FLAGS = u32;
72 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
73 pub const CROSS_SLIDE_FLAGS_NONE: CROSS_SLIDE_FLAGS = 0u32;
74 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
75 pub const CROSS_SLIDE_FLAGS_SELECT: CROSS_SLIDE_FLAGS = 1u32;
76 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
77 pub const CROSS_SLIDE_FLAGS_SPEED_BUMP: CROSS_SLIDE_FLAGS = 2u32;
78 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
79 pub const CROSS_SLIDE_FLAGS_REARRANGE: CROSS_SLIDE_FLAGS = 4u32;
80 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
81 pub const CROSS_SLIDE_FLAGS_MAX: CROSS_SLIDE_FLAGS = 4294967295u32;
82 #[repr(C)]
83 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
84 pub struct CROSS_SLIDE_PARAMETER {
85 pub threshold: CROSS_SLIDE_THRESHOLD,
86 pub distance: f32,
87 }
88 impl ::core::marker::Copy for CROSS_SLIDE_PARAMETER {}
89 impl ::core::clone::Clone for CROSS_SLIDE_PARAMETER {
90 fn clone(&self) -> Self {
91 *self
92 }
93 }
94 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
95 pub type CROSS_SLIDE_THRESHOLD = i32;
96 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
97 pub const CROSS_SLIDE_THRESHOLD_SELECT_START: CROSS_SLIDE_THRESHOLD = 0i32;
98 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
99 pub const CROSS_SLIDE_THRESHOLD_SPEED_BUMP_START: CROSS_SLIDE_THRESHOLD = 1i32;
100 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
101 pub const CROSS_SLIDE_THRESHOLD_SPEED_BUMP_END: CROSS_SLIDE_THRESHOLD = 2i32;
102 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
103 pub const CROSS_SLIDE_THRESHOLD_REARRANGE_START: CROSS_SLIDE_THRESHOLD = 3i32;
104 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
105 pub const CROSS_SLIDE_THRESHOLD_COUNT: CROSS_SLIDE_THRESHOLD = 4i32;
106 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
107 pub const CROSS_SLIDE_THRESHOLD_MAX: CROSS_SLIDE_THRESHOLD = -1i32;
108 pub type HINTERACTIONCONTEXT = isize;
109 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
110 pub type HOLD_PARAMETER = i32;
111 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
112 pub const HOLD_PARAMETER_MIN_CONTACT_COUNT: HOLD_PARAMETER = 0i32;
113 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
114 pub const HOLD_PARAMETER_MAX_CONTACT_COUNT: HOLD_PARAMETER = 1i32;
115 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
116 pub const HOLD_PARAMETER_THRESHOLD_RADIUS: HOLD_PARAMETER = 2i32;
117 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
118 pub const HOLD_PARAMETER_THRESHOLD_START_DELAY: HOLD_PARAMETER = 3i32;
119 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
120 pub const HOLD_PARAMETER_MAX: HOLD_PARAMETER = -1i32;
121 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
122 pub type INERTIA_PARAMETER = i32;
123 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
124 pub const INERTIA_PARAMETER_TRANSLATION_DECELERATION: INERTIA_PARAMETER = 1i32;
125 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
126 pub const INERTIA_PARAMETER_TRANSLATION_DISPLACEMENT: INERTIA_PARAMETER = 2i32;
127 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
128 pub const INERTIA_PARAMETER_ROTATION_DECELERATION: INERTIA_PARAMETER = 3i32;
129 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
130 pub const INERTIA_PARAMETER_ROTATION_ANGLE: INERTIA_PARAMETER = 4i32;
131 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
132 pub const INERTIA_PARAMETER_EXPANSION_DECELERATION: INERTIA_PARAMETER = 5i32;
133 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
134 pub const INERTIA_PARAMETER_EXPANSION_EXPANSION: INERTIA_PARAMETER = 6i32;
135 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
136 pub const INERTIA_PARAMETER_MAX: INERTIA_PARAMETER = -1i32;
137 #[repr(C)]
138 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
139 pub struct INTERACTION_ARGUMENTS_CROSS_SLIDE {
140 pub flags: CROSS_SLIDE_FLAGS,
141 }
142 impl ::core::marker::Copy for INTERACTION_ARGUMENTS_CROSS_SLIDE {}
143 impl ::core::clone::Clone for INTERACTION_ARGUMENTS_CROSS_SLIDE {
144 fn clone(&self) -> Self {
145 *self
146 }
147 }
148 #[repr(C)]
149 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
150 pub struct INTERACTION_ARGUMENTS_MANIPULATION {
151 pub delta: MANIPULATION_TRANSFORM,
152 pub cumulative: MANIPULATION_TRANSFORM,
153 pub velocity: MANIPULATION_VELOCITY,
154 pub railsState: MANIPULATION_RAILS_STATE,
155 }
156 impl ::core::marker::Copy for INTERACTION_ARGUMENTS_MANIPULATION {}
157 impl ::core::clone::Clone for INTERACTION_ARGUMENTS_MANIPULATION {
158 fn clone(&self) -> Self {
159 *self
160 }
161 }
162 #[repr(C)]
163 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
164 pub struct INTERACTION_ARGUMENTS_TAP {
165 pub count: u32,
166 }
167 impl ::core::marker::Copy for INTERACTION_ARGUMENTS_TAP {}
168 impl ::core::clone::Clone for INTERACTION_ARGUMENTS_TAP {
169 fn clone(&self) -> Self {
170 *self
171 }
172 }
173 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
174 pub type INTERACTION_CONFIGURATION_FLAGS = u32;
175 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
176 pub const INTERACTION_CONFIGURATION_FLAG_NONE: INTERACTION_CONFIGURATION_FLAGS = 0u32;
177 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
178 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION: INTERACTION_CONFIGURATION_FLAGS = 1u32;
179 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
180 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_TRANSLATION_X: INTERACTION_CONFIGURATION_FLAGS = 2u32;
181 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
182 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_TRANSLATION_Y: INTERACTION_CONFIGURATION_FLAGS = 4u32;
183 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
184 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_ROTATION: INTERACTION_CONFIGURATION_FLAGS = 8u32;
185 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
186 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_SCALING: INTERACTION_CONFIGURATION_FLAGS = 16u32;
187 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
188 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_TRANSLATION_INERTIA: INTERACTION_CONFIGURATION_FLAGS = 32u32;
189 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
190 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_ROTATION_INERTIA: INTERACTION_CONFIGURATION_FLAGS = 64u32;
191 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
192 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_SCALING_INERTIA: INTERACTION_CONFIGURATION_FLAGS = 128u32;
193 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
194 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_RAILS_X: INTERACTION_CONFIGURATION_FLAGS = 256u32;
195 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
196 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_RAILS_Y: INTERACTION_CONFIGURATION_FLAGS = 512u32;
197 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
198 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_EXACT: INTERACTION_CONFIGURATION_FLAGS = 1024u32;
199 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
200 pub const INTERACTION_CONFIGURATION_FLAG_MANIPULATION_MULTIPLE_FINGER_PANNING: INTERACTION_CONFIGURATION_FLAGS = 2048u32;
201 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
202 pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE: INTERACTION_CONFIGURATION_FLAGS = 1u32;
203 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
204 pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_HORIZONTAL: INTERACTION_CONFIGURATION_FLAGS = 2u32;
205 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
206 pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_SELECT: INTERACTION_CONFIGURATION_FLAGS = 4u32;
207 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
208 pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_SPEED_BUMP: INTERACTION_CONFIGURATION_FLAGS = 8u32;
209 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
210 pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_REARRANGE: INTERACTION_CONFIGURATION_FLAGS = 16u32;
211 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
212 pub const INTERACTION_CONFIGURATION_FLAG_CROSS_SLIDE_EXACT: INTERACTION_CONFIGURATION_FLAGS = 32u32;
213 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
214 pub const INTERACTION_CONFIGURATION_FLAG_TAP: INTERACTION_CONFIGURATION_FLAGS = 1u32;
215 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
216 pub const INTERACTION_CONFIGURATION_FLAG_TAP_DOUBLE: INTERACTION_CONFIGURATION_FLAGS = 2u32;
217 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
218 pub const INTERACTION_CONFIGURATION_FLAG_TAP_MULTIPLE_FINGER: INTERACTION_CONFIGURATION_FLAGS = 4u32;
219 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
220 pub const INTERACTION_CONFIGURATION_FLAG_SECONDARY_TAP: INTERACTION_CONFIGURATION_FLAGS = 1u32;
221 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
222 pub const INTERACTION_CONFIGURATION_FLAG_HOLD: INTERACTION_CONFIGURATION_FLAGS = 1u32;
223 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
224 pub const INTERACTION_CONFIGURATION_FLAG_HOLD_MOUSE: INTERACTION_CONFIGURATION_FLAGS = 2u32;
225 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
226 pub const INTERACTION_CONFIGURATION_FLAG_HOLD_MULTIPLE_FINGER: INTERACTION_CONFIGURATION_FLAGS = 4u32;
227 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
228 pub const INTERACTION_CONFIGURATION_FLAG_DRAG: INTERACTION_CONFIGURATION_FLAGS = 1u32;
229 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
230 pub const INTERACTION_CONFIGURATION_FLAG_MAX: INTERACTION_CONFIGURATION_FLAGS = 4294967295u32;
231 #[repr(C)]
232 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
233 pub struct INTERACTION_CONTEXT_CONFIGURATION {
234 pub interactionId: INTERACTION_ID,
235 pub enable: INTERACTION_CONFIGURATION_FLAGS,
236 }
237 impl ::core::marker::Copy for INTERACTION_CONTEXT_CONFIGURATION {}
238 impl ::core::clone::Clone for INTERACTION_CONTEXT_CONFIGURATION {
239 fn clone(&self) -> Self {
240 *self
241 }
242 }
243 #[repr(C)]
244 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_UI_WindowsAndMessaging'*"]
245 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
246 pub struct INTERACTION_CONTEXT_OUTPUT {
247 pub interactionId: INTERACTION_ID,
248 pub interactionFlags: INTERACTION_FLAGS,
249 pub inputType: super::WindowsAndMessaging::POINTER_INPUT_TYPE,
250 pub x: f32,
251 pub y: f32,
252 pub arguments: INTERACTION_CONTEXT_OUTPUT_0,
253 }
254 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
255 impl ::core::marker::Copy for INTERACTION_CONTEXT_OUTPUT {}
256 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
257 impl ::core::clone::Clone for INTERACTION_CONTEXT_OUTPUT {
258 fn clone(&self) -> Self {
259 *self
260 }
261 }
262 #[repr(C)]
263 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_UI_WindowsAndMessaging'*"]
264 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
265 pub union INTERACTION_CONTEXT_OUTPUT_0 {
266 pub manipulation: INTERACTION_ARGUMENTS_MANIPULATION,
267 pub tap: INTERACTION_ARGUMENTS_TAP,
268 pub crossSlide: INTERACTION_ARGUMENTS_CROSS_SLIDE,
269 }
270 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
271 impl ::core::marker::Copy for INTERACTION_CONTEXT_OUTPUT_0 {}
272 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
273 impl ::core::clone::Clone for INTERACTION_CONTEXT_OUTPUT_0 {
274 fn clone(&self) -> Self {
275 *self
276 }
277 }
278 #[repr(C)]
279 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_UI_WindowsAndMessaging'*"]
280 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
281 pub struct INTERACTION_CONTEXT_OUTPUT2 {
282 pub interactionId: INTERACTION_ID,
283 pub interactionFlags: INTERACTION_FLAGS,
284 pub inputType: super::WindowsAndMessaging::POINTER_INPUT_TYPE,
285 pub contactCount: u32,
286 pub currentContactCount: u32,
287 pub x: f32,
288 pub y: f32,
289 pub arguments: INTERACTION_CONTEXT_OUTPUT2_0,
290 }
291 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
292 impl ::core::marker::Copy for INTERACTION_CONTEXT_OUTPUT2 {}
293 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
294 impl ::core::clone::Clone for INTERACTION_CONTEXT_OUTPUT2 {
295 fn clone(&self) -> Self {
296 *self
297 }
298 }
299 #[repr(C)]
300 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_UI_WindowsAndMessaging'*"]
301 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
302 pub union INTERACTION_CONTEXT_OUTPUT2_0 {
303 pub manipulation: INTERACTION_ARGUMENTS_MANIPULATION,
304 pub tap: INTERACTION_ARGUMENTS_TAP,
305 pub crossSlide: INTERACTION_ARGUMENTS_CROSS_SLIDE,
306 }
307 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
308 impl ::core::marker::Copy for INTERACTION_CONTEXT_OUTPUT2_0 {}
309 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
310 impl ::core::clone::Clone for INTERACTION_CONTEXT_OUTPUT2_0 {
311 fn clone(&self) -> Self {
312 *self
313 }
314 }
315 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_UI_WindowsAndMessaging'*"]
316 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
317 pub type INTERACTION_CONTEXT_OUTPUT_CALLBACK = ::core::option::Option<unsafe extern "system" fn(clientdata: *const ::core::ffi::c_void, output: *const INTERACTION_CONTEXT_OUTPUT)>;
318 #[doc = "*Required features: 'Win32_UI_InteractionContext', 'Win32_UI_WindowsAndMessaging'*"]
319 #[cfg(feature = "Win32_UI_WindowsAndMessaging")]
320 pub type INTERACTION_CONTEXT_OUTPUT_CALLBACK2 = ::core::option::Option<unsafe extern "system" fn(clientdata: *const ::core::ffi::c_void, output: *const INTERACTION_CONTEXT_OUTPUT2)>;
321 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
322 pub type INTERACTION_CONTEXT_PROPERTY = i32;
323 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
324 pub const INTERACTION_CONTEXT_PROPERTY_MEASUREMENT_UNITS: INTERACTION_CONTEXT_PROPERTY = 1i32;
325 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
326 pub const INTERACTION_CONTEXT_PROPERTY_INTERACTION_UI_FEEDBACK: INTERACTION_CONTEXT_PROPERTY = 2i32;
327 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
328 pub const INTERACTION_CONTEXT_PROPERTY_FILTER_POINTERS: INTERACTION_CONTEXT_PROPERTY = 3i32;
329 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
330 pub const INTERACTION_CONTEXT_PROPERTY_MAX: INTERACTION_CONTEXT_PROPERTY = -1i32;
331 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
332 pub type INTERACTION_FLAGS = u32;
333 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
334 pub const INTERACTION_FLAG_NONE: INTERACTION_FLAGS = 0u32;
335 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
336 pub const INTERACTION_FLAG_BEGIN: INTERACTION_FLAGS = 1u32;
337 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
338 pub const INTERACTION_FLAG_END: INTERACTION_FLAGS = 2u32;
339 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
340 pub const INTERACTION_FLAG_CANCEL: INTERACTION_FLAGS = 4u32;
341 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
342 pub const INTERACTION_FLAG_INERTIA: INTERACTION_FLAGS = 8u32;
343 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
344 pub const INTERACTION_FLAG_MAX: INTERACTION_FLAGS = 4294967295u32;
345 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
346 pub type INTERACTION_ID = i32;
347 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
348 pub const INTERACTION_ID_NONE: INTERACTION_ID = 0i32;
349 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
350 pub const INTERACTION_ID_MANIPULATION: INTERACTION_ID = 1i32;
351 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
352 pub const INTERACTION_ID_TAP: INTERACTION_ID = 2i32;
353 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
354 pub const INTERACTION_ID_SECONDARY_TAP: INTERACTION_ID = 3i32;
355 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
356 pub const INTERACTION_ID_HOLD: INTERACTION_ID = 4i32;
357 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
358 pub const INTERACTION_ID_DRAG: INTERACTION_ID = 5i32;
359 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
360 pub const INTERACTION_ID_CROSS_SLIDE: INTERACTION_ID = 6i32;
361 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
362 pub const INTERACTION_ID_MAX: INTERACTION_ID = -1i32;
363 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
364 pub type INTERACTION_STATE = i32;
365 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
366 pub const INTERACTION_STATE_IDLE: INTERACTION_STATE = 0i32;
367 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
368 pub const INTERACTION_STATE_IN_INTERACTION: INTERACTION_STATE = 1i32;
369 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
370 pub const INTERACTION_STATE_POSSIBLE_DOUBLE_TAP: INTERACTION_STATE = 2i32;
371 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
372 pub const INTERACTION_STATE_MAX: INTERACTION_STATE = -1i32;
373 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
374 pub type MANIPULATION_RAILS_STATE = i32;
375 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
376 pub const MANIPULATION_RAILS_STATE_UNDECIDED: MANIPULATION_RAILS_STATE = 0i32;
377 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
378 pub const MANIPULATION_RAILS_STATE_FREE: MANIPULATION_RAILS_STATE = 1i32;
379 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
380 pub const MANIPULATION_RAILS_STATE_RAILED: MANIPULATION_RAILS_STATE = 2i32;
381 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
382 pub const MANIPULATION_RAILS_STATE_MAX: MANIPULATION_RAILS_STATE = -1i32;
383 #[repr(C)]
384 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
385 pub struct MANIPULATION_TRANSFORM {
386 pub translationX: f32,
387 pub translationY: f32,
388 pub scale: f32,
389 pub expansion: f32,
390 pub rotation: f32,
391 }
392 impl ::core::marker::Copy for MANIPULATION_TRANSFORM {}
393 impl ::core::clone::Clone for MANIPULATION_TRANSFORM {
394 fn clone(&self) -> Self {
395 *self
396 }
397 }
398 #[repr(C)]
399 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
400 pub struct MANIPULATION_VELOCITY {
401 pub velocityX: f32,
402 pub velocityY: f32,
403 pub velocityExpansion: f32,
404 pub velocityAngular: f32,
405 }
406 impl ::core::marker::Copy for MANIPULATION_VELOCITY {}
407 impl ::core::clone::Clone for MANIPULATION_VELOCITY {
408 fn clone(&self) -> Self {
409 *self
410 }
411 }
412 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
413 pub type MOUSE_WHEEL_PARAMETER = i32;
414 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
415 pub const MOUSE_WHEEL_PARAMETER_CHAR_TRANSLATION_X: MOUSE_WHEEL_PARAMETER = 1i32;
416 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
417 pub const MOUSE_WHEEL_PARAMETER_CHAR_TRANSLATION_Y: MOUSE_WHEEL_PARAMETER = 2i32;
418 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
419 pub const MOUSE_WHEEL_PARAMETER_DELTA_SCALE: MOUSE_WHEEL_PARAMETER = 3i32;
420 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
421 pub const MOUSE_WHEEL_PARAMETER_DELTA_ROTATION: MOUSE_WHEEL_PARAMETER = 4i32;
422 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
423 pub const MOUSE_WHEEL_PARAMETER_PAGE_TRANSLATION_X: MOUSE_WHEEL_PARAMETER = 5i32;
424 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
425 pub const MOUSE_WHEEL_PARAMETER_PAGE_TRANSLATION_Y: MOUSE_WHEEL_PARAMETER = 6i32;
426 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
427 pub const MOUSE_WHEEL_PARAMETER_MAX: MOUSE_WHEEL_PARAMETER = -1i32;
428 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
429 pub type TAP_PARAMETER = i32;
430 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
431 pub const TAP_PARAMETER_MIN_CONTACT_COUNT: TAP_PARAMETER = 0i32;
432 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
433 pub const TAP_PARAMETER_MAX_CONTACT_COUNT: TAP_PARAMETER = 1i32;
434 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
435 pub const TAP_PARAMETER_MAX: TAP_PARAMETER = -1i32;
436 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
437 pub type TRANSLATION_PARAMETER = i32;
438 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
439 pub const TRANSLATION_PARAMETER_MIN_CONTACT_COUNT: TRANSLATION_PARAMETER = 0i32;
440 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
441 pub const TRANSLATION_PARAMETER_MAX_CONTACT_COUNT: TRANSLATION_PARAMETER = 1i32;
442 #[doc = "*Required features: 'Win32_UI_InteractionContext'*"]
443 pub const TRANSLATION_PARAMETER_MAX: TRANSLATION_PARAMETER = -1i32;