1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "Win32_Foundation")]
3 #[inline]
CloseGestureInfoHandle<'a, Param0: ::windows::runtime::IntoParam<'a, HGESTUREINFO>>(hgestureinfo: Param0) -> super::super::super::Foundation::BOOL4 pub unsafe fn CloseGestureInfoHandle<'a, Param0: ::windows::runtime::IntoParam<'a, HGESTUREINFO>>(hgestureinfo: Param0) -> super::super::super::Foundation::BOOL {
5     #[cfg(windows)]
6     {
7         #[link(name = "windows")]
8         extern "system" {
9             fn CloseGestureInfoHandle(hgestureinfo: HGESTUREINFO) -> super::super::super::Foundation::BOOL;
10         }
11         ::std::mem::transmute(CloseGestureInfoHandle(hgestureinfo.into_param().abi()))
12     }
13     #[cfg(not(windows))]
14     unimplemented!("Unsupported target OS");
15 }
16 #[cfg(feature = "Win32_Foundation")]
17 #[inline]
CloseTouchInputHandle<'a, Param0: ::windows::runtime::IntoParam<'a, HTOUCHINPUT>>(htouchinput: Param0) -> super::super::super::Foundation::BOOL18 pub unsafe fn CloseTouchInputHandle<'a, Param0: ::windows::runtime::IntoParam<'a, HTOUCHINPUT>>(htouchinput: Param0) -> super::super::super::Foundation::BOOL {
19     #[cfg(windows)]
20     {
21         #[link(name = "windows")]
22         extern "system" {
23             fn CloseTouchInputHandle(htouchinput: HTOUCHINPUT) -> super::super::super::Foundation::BOOL;
24         }
25         ::std::mem::transmute(CloseTouchInputHandle(htouchinput.into_param().abi()))
26     }
27     #[cfg(not(windows))]
28     unimplemented!("Unsupported target OS");
29 }
30 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
31 #[repr(C)]
32 pub struct GESTURECONFIG {
33     pub dwID: GESTURECONFIG_ID,
34     pub dwWant: u32,
35     pub dwBlock: u32,
36 }
37 impl GESTURECONFIG {}
38 impl ::std::default::Default for GESTURECONFIG {
default() -> Self39     fn default() -> Self {
40         unsafe { ::std::mem::zeroed() }
41     }
42 }
43 impl ::std::fmt::Debug for GESTURECONFIG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result44     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
45         fmt.debug_struct("GESTURECONFIG").field("dwID", &self.dwID).field("dwWant", &self.dwWant).field("dwBlock", &self.dwBlock).finish()
46     }
47 }
48 impl ::std::cmp::PartialEq for GESTURECONFIG {
eq(&self, other: &Self) -> bool49     fn eq(&self, other: &Self) -> bool {
50         self.dwID == other.dwID && self.dwWant == other.dwWant && self.dwBlock == other.dwBlock
51     }
52 }
53 impl ::std::cmp::Eq for GESTURECONFIG {}
54 unsafe impl ::windows::runtime::Abi for GESTURECONFIG {
55     type Abi = Self;
56     type DefaultType = Self;
57 }
58 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
59 #[repr(transparent)]
60 pub struct GESTURECONFIG_ID(pub u32);
61 pub const GID_BEGIN: GESTURECONFIG_ID = GESTURECONFIG_ID(1u32);
62 pub const GID_END: GESTURECONFIG_ID = GESTURECONFIG_ID(2u32);
63 pub const GID_ZOOM: GESTURECONFIG_ID = GESTURECONFIG_ID(3u32);
64 pub const GID_PAN: GESTURECONFIG_ID = GESTURECONFIG_ID(4u32);
65 pub const GID_ROTATE: GESTURECONFIG_ID = GESTURECONFIG_ID(5u32);
66 pub const GID_TWOFINGERTAP: GESTURECONFIG_ID = GESTURECONFIG_ID(6u32);
67 pub const GID_PRESSANDTAP: GESTURECONFIG_ID = GESTURECONFIG_ID(7u32);
68 pub const GID_ROLLOVER: GESTURECONFIG_ID = GESTURECONFIG_ID(7u32);
69 impl ::std::convert::From<u32> for GESTURECONFIG_ID {
from(value: u32) -> Self70     fn from(value: u32) -> Self {
71         Self(value)
72     }
73 }
74 unsafe impl ::windows::runtime::Abi for GESTURECONFIG_ID {
75     type Abi = Self;
76     type DefaultType = Self;
77 }
78 impl ::std::ops::BitOr for GESTURECONFIG_ID {
79     type Output = Self;
bitor(self, rhs: Self) -> Self80     fn bitor(self, rhs: Self) -> Self {
81         Self(self.0 | rhs.0)
82     }
83 }
84 impl ::std::ops::BitAnd for GESTURECONFIG_ID {
85     type Output = Self;
bitand(self, rhs: Self) -> Self86     fn bitand(self, rhs: Self) -> Self {
87         Self(self.0 & rhs.0)
88     }
89 }
90 impl ::std::ops::BitOrAssign for GESTURECONFIG_ID {
bitor_assign(&mut self, rhs: Self)91     fn bitor_assign(&mut self, rhs: Self) {
92         self.0.bitor_assign(rhs.0)
93     }
94 }
95 impl ::std::ops::BitAndAssign for GESTURECONFIG_ID {
bitand_assign(&mut self, rhs: Self)96     fn bitand_assign(&mut self, rhs: Self) {
97         self.0.bitand_assign(rhs.0)
98     }
99 }
100 impl ::std::ops::Not for GESTURECONFIG_ID {
101     type Output = Self;
not(self) -> Self102     fn not(self) -> Self {
103         Self(self.0.not())
104     }
105 }
106 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
107 #[repr(C)]
108 #[cfg(feature = "Win32_Foundation")]
109 pub struct GESTUREINFO {
110     pub cbSize: u32,
111     pub dwFlags: u32,
112     pub dwID: u32,
113     pub hwndTarget: super::super::super::Foundation::HWND,
114     pub ptsLocation: super::super::super::Foundation::POINTS,
115     pub dwInstanceID: u32,
116     pub dwSequenceID: u32,
117     pub ullArguments: u64,
118     pub cbExtraArgs: u32,
119 }
120 #[cfg(feature = "Win32_Foundation")]
121 impl GESTUREINFO {}
122 #[cfg(feature = "Win32_Foundation")]
123 impl ::std::default::Default for GESTUREINFO {
default() -> Self124     fn default() -> Self {
125         unsafe { ::std::mem::zeroed() }
126     }
127 }
128 #[cfg(feature = "Win32_Foundation")]
129 impl ::std::fmt::Debug for GESTUREINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result130     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
131         fmt.debug_struct("GESTUREINFO")
132             .field("cbSize", &self.cbSize)
133             .field("dwFlags", &self.dwFlags)
134             .field("dwID", &self.dwID)
135             .field("hwndTarget", &self.hwndTarget)
136             .field("ptsLocation", &self.ptsLocation)
137             .field("dwInstanceID", &self.dwInstanceID)
138             .field("dwSequenceID", &self.dwSequenceID)
139             .field("ullArguments", &self.ullArguments)
140             .field("cbExtraArgs", &self.cbExtraArgs)
141             .finish()
142     }
143 }
144 #[cfg(feature = "Win32_Foundation")]
145 impl ::std::cmp::PartialEq for GESTUREINFO {
eq(&self, other: &Self) -> bool146     fn eq(&self, other: &Self) -> bool {
147         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags && self.dwID == other.dwID && self.hwndTarget == other.hwndTarget && self.ptsLocation == other.ptsLocation && self.dwInstanceID == other.dwInstanceID && self.dwSequenceID == other.dwSequenceID && self.ullArguments == other.ullArguments && self.cbExtraArgs == other.cbExtraArgs
148     }
149 }
150 #[cfg(feature = "Win32_Foundation")]
151 impl ::std::cmp::Eq for GESTUREINFO {}
152 #[cfg(feature = "Win32_Foundation")]
153 unsafe impl ::windows::runtime::Abi for GESTUREINFO {
154     type Abi = Self;
155     type DefaultType = Self;
156 }
157 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
158 #[repr(C)]
159 #[cfg(feature = "Win32_Foundation")]
160 pub struct GESTURENOTIFYSTRUCT {
161     pub cbSize: u32,
162     pub dwFlags: u32,
163     pub hwndTarget: super::super::super::Foundation::HWND,
164     pub ptsLocation: super::super::super::Foundation::POINTS,
165     pub dwInstanceID: u32,
166 }
167 #[cfg(feature = "Win32_Foundation")]
168 impl GESTURENOTIFYSTRUCT {}
169 #[cfg(feature = "Win32_Foundation")]
170 impl ::std::default::Default for GESTURENOTIFYSTRUCT {
default() -> Self171     fn default() -> Self {
172         unsafe { ::std::mem::zeroed() }
173     }
174 }
175 #[cfg(feature = "Win32_Foundation")]
176 impl ::std::fmt::Debug for GESTURENOTIFYSTRUCT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result177     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
178         fmt.debug_struct("GESTURENOTIFYSTRUCT").field("cbSize", &self.cbSize).field("dwFlags", &self.dwFlags).field("hwndTarget", &self.hwndTarget).field("ptsLocation", &self.ptsLocation).field("dwInstanceID", &self.dwInstanceID).finish()
179     }
180 }
181 #[cfg(feature = "Win32_Foundation")]
182 impl ::std::cmp::PartialEq for GESTURENOTIFYSTRUCT {
eq(&self, other: &Self) -> bool183     fn eq(&self, other: &Self) -> bool {
184         self.cbSize == other.cbSize && self.dwFlags == other.dwFlags && self.hwndTarget == other.hwndTarget && self.ptsLocation == other.ptsLocation && self.dwInstanceID == other.dwInstanceID
185     }
186 }
187 #[cfg(feature = "Win32_Foundation")]
188 impl ::std::cmp::Eq for GESTURENOTIFYSTRUCT {}
189 #[cfg(feature = "Win32_Foundation")]
190 unsafe impl ::windows::runtime::Abi for GESTURENOTIFYSTRUCT {
191     type Abi = Self;
192     type DefaultType = Self;
193 }
194 #[cfg(feature = "Win32_Foundation")]
195 #[inline]
GetGestureConfig<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0, dwreserved: u32, dwflags: u32, pcids: *const u32, pgestureconfig: *mut GESTURECONFIG, cbsize: u32) -> super::super::super::Foundation::BOOL196 pub unsafe fn GetGestureConfig<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0, dwreserved: u32, dwflags: u32, pcids: *const u32, pgestureconfig: *mut GESTURECONFIG, cbsize: u32) -> super::super::super::Foundation::BOOL {
197     #[cfg(windows)]
198     {
199         #[link(name = "windows")]
200         extern "system" {
201             fn GetGestureConfig(hwnd: super::super::super::Foundation::HWND, dwreserved: u32, dwflags: u32, pcids: *const u32, pgestureconfig: *mut GESTURECONFIG, cbsize: u32) -> super::super::super::Foundation::BOOL;
202         }
203         ::std::mem::transmute(GetGestureConfig(hwnd.into_param().abi(), ::std::mem::transmute(dwreserved), ::std::mem::transmute(dwflags), ::std::mem::transmute(pcids), ::std::mem::transmute(pgestureconfig), ::std::mem::transmute(cbsize)))
204     }
205     #[cfg(not(windows))]
206     unimplemented!("Unsupported target OS");
207 }
208 #[cfg(feature = "Win32_Foundation")]
209 #[inline]
GetGestureExtraArgs<'a, Param0: ::windows::runtime::IntoParam<'a, HGESTUREINFO>>(hgestureinfo: Param0, cbextraargs: u32, pextraargs: *mut u8) -> super::super::super::Foundation::BOOL210 pub unsafe fn GetGestureExtraArgs<'a, Param0: ::windows::runtime::IntoParam<'a, HGESTUREINFO>>(hgestureinfo: Param0, cbextraargs: u32, pextraargs: *mut u8) -> super::super::super::Foundation::BOOL {
211     #[cfg(windows)]
212     {
213         #[link(name = "windows")]
214         extern "system" {
215             fn GetGestureExtraArgs(hgestureinfo: HGESTUREINFO, cbextraargs: u32, pextraargs: *mut u8) -> super::super::super::Foundation::BOOL;
216         }
217         ::std::mem::transmute(GetGestureExtraArgs(hgestureinfo.into_param().abi(), ::std::mem::transmute(cbextraargs), ::std::mem::transmute(pextraargs)))
218     }
219     #[cfg(not(windows))]
220     unimplemented!("Unsupported target OS");
221 }
222 #[cfg(feature = "Win32_Foundation")]
223 #[inline]
GetGestureInfo<'a, Param0: ::windows::runtime::IntoParam<'a, HGESTUREINFO>>(hgestureinfo: Param0, pgestureinfo: *mut GESTUREINFO) -> super::super::super::Foundation::BOOL224 pub unsafe fn GetGestureInfo<'a, Param0: ::windows::runtime::IntoParam<'a, HGESTUREINFO>>(hgestureinfo: Param0, pgestureinfo: *mut GESTUREINFO) -> super::super::super::Foundation::BOOL {
225     #[cfg(windows)]
226     {
227         #[link(name = "windows")]
228         extern "system" {
229             fn GetGestureInfo(hgestureinfo: HGESTUREINFO, pgestureinfo: *mut GESTUREINFO) -> super::super::super::Foundation::BOOL;
230         }
231         ::std::mem::transmute(GetGestureInfo(hgestureinfo.into_param().abi(), ::std::mem::transmute(pgestureinfo)))
232     }
233     #[cfg(not(windows))]
234     unimplemented!("Unsupported target OS");
235 }
236 #[cfg(feature = "Win32_Foundation")]
237 #[inline]
GetTouchInputInfo<'a, Param0: ::windows::runtime::IntoParam<'a, HTOUCHINPUT>>(htouchinput: Param0, cinputs: u32, pinputs: *mut TOUCHINPUT, cbsize: i32) -> super::super::super::Foundation::BOOL238 pub unsafe fn GetTouchInputInfo<'a, Param0: ::windows::runtime::IntoParam<'a, HTOUCHINPUT>>(htouchinput: Param0, cinputs: u32, pinputs: *mut TOUCHINPUT, cbsize: i32) -> super::super::super::Foundation::BOOL {
239     #[cfg(windows)]
240     {
241         #[link(name = "windows")]
242         extern "system" {
243             fn GetTouchInputInfo(htouchinput: HTOUCHINPUT, cinputs: u32, pinputs: *mut TOUCHINPUT, cbsize: i32) -> super::super::super::Foundation::BOOL;
244         }
245         ::std::mem::transmute(GetTouchInputInfo(htouchinput.into_param().abi(), ::std::mem::transmute(cinputs), ::std::mem::transmute(pinputs), ::std::mem::transmute(cbsize)))
246     }
247     #[cfg(not(windows))]
248     unimplemented!("Unsupported target OS");
249 }
250 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
251 #[repr(transparent)]
252 pub struct HGESTUREINFO(pub isize);
253 impl ::std::default::Default for HGESTUREINFO {
default() -> Self254     fn default() -> Self {
255         unsafe { ::std::mem::zeroed() }
256     }
257 }
258 unsafe impl ::windows::runtime::Handle for HGESTUREINFO {}
259 unsafe impl ::windows::runtime::Abi for HGESTUREINFO {
260     type Abi = Self;
261     type DefaultType = Self;
262 }
263 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
264 #[repr(transparent)]
265 pub struct HTOUCHINPUT(pub isize);
266 impl ::std::default::Default for HTOUCHINPUT {
default() -> Self267     fn default() -> Self {
268         unsafe { ::std::mem::zeroed() }
269     }
270 }
271 unsafe impl ::windows::runtime::Handle for HTOUCHINPUT {}
272 unsafe impl ::windows::runtime::Abi for HTOUCHINPUT {
273     type Abi = Self;
274     type DefaultType = Self;
275 }
276 #[repr(transparent)]
277 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
278 pub struct IInertiaProcessor(::windows::runtime::IUnknown);
279 impl IInertiaProcessor {
InitialOriginX(&self) -> ::windows::runtime::Result<f32>280     pub unsafe fn InitialOriginX(&self) -> ::windows::runtime::Result<f32> {
281         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
282         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
283     }
SetInitialOriginX(&self, x: f32) -> ::windows::runtime::Result<()>284     pub unsafe fn SetInitialOriginX(&self, x: f32) -> ::windows::runtime::Result<()> {
285         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(x)).ok()
286     }
InitialOriginY(&self) -> ::windows::runtime::Result<f32>287     pub unsafe fn InitialOriginY(&self) -> ::windows::runtime::Result<f32> {
288         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
289         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
290     }
SetInitialOriginY(&self, y: f32) -> ::windows::runtime::Result<()>291     pub unsafe fn SetInitialOriginY(&self, y: f32) -> ::windows::runtime::Result<()> {
292         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(y)).ok()
293     }
InitialVelocityX(&self) -> ::windows::runtime::Result<f32>294     pub unsafe fn InitialVelocityX(&self) -> ::windows::runtime::Result<f32> {
295         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
296         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
297     }
SetInitialVelocityX(&self, x: f32) -> ::windows::runtime::Result<()>298     pub unsafe fn SetInitialVelocityX(&self, x: f32) -> ::windows::runtime::Result<()> {
299         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(x)).ok()
300     }
InitialVelocityY(&self) -> ::windows::runtime::Result<f32>301     pub unsafe fn InitialVelocityY(&self) -> ::windows::runtime::Result<f32> {
302         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
303         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
304     }
SetInitialVelocityY(&self, y: f32) -> ::windows::runtime::Result<()>305     pub unsafe fn SetInitialVelocityY(&self, y: f32) -> ::windows::runtime::Result<()> {
306         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(y)).ok()
307     }
InitialAngularVelocity(&self) -> ::windows::runtime::Result<f32>308     pub unsafe fn InitialAngularVelocity(&self) -> ::windows::runtime::Result<f32> {
309         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
310         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
311     }
SetInitialAngularVelocity(&self, velocity: f32) -> ::windows::runtime::Result<()>312     pub unsafe fn SetInitialAngularVelocity(&self, velocity: f32) -> ::windows::runtime::Result<()> {
313         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(velocity)).ok()
314     }
InitialExpansionVelocity(&self) -> ::windows::runtime::Result<f32>315     pub unsafe fn InitialExpansionVelocity(&self) -> ::windows::runtime::Result<f32> {
316         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
317         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
318     }
SetInitialExpansionVelocity(&self, velocity: f32) -> ::windows::runtime::Result<()>319     pub unsafe fn SetInitialExpansionVelocity(&self, velocity: f32) -> ::windows::runtime::Result<()> {
320         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(velocity)).ok()
321     }
InitialRadius(&self) -> ::windows::runtime::Result<f32>322     pub unsafe fn InitialRadius(&self) -> ::windows::runtime::Result<f32> {
323         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
324         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
325     }
SetInitialRadius(&self, radius: f32) -> ::windows::runtime::Result<()>326     pub unsafe fn SetInitialRadius(&self, radius: f32) -> ::windows::runtime::Result<()> {
327         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(radius)).ok()
328     }
BoundaryLeft(&self) -> ::windows::runtime::Result<f32>329     pub unsafe fn BoundaryLeft(&self) -> ::windows::runtime::Result<f32> {
330         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
331         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
332     }
SetBoundaryLeft(&self, left: f32) -> ::windows::runtime::Result<()>333     pub unsafe fn SetBoundaryLeft(&self, left: f32) -> ::windows::runtime::Result<()> {
334         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(left)).ok()
335     }
BoundaryTop(&self) -> ::windows::runtime::Result<f32>336     pub unsafe fn BoundaryTop(&self) -> ::windows::runtime::Result<f32> {
337         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
338         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
339     }
SetBoundaryTop(&self, top: f32) -> ::windows::runtime::Result<()>340     pub unsafe fn SetBoundaryTop(&self, top: f32) -> ::windows::runtime::Result<()> {
341         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(top)).ok()
342     }
BoundaryRight(&self) -> ::windows::runtime::Result<f32>343     pub unsafe fn BoundaryRight(&self) -> ::windows::runtime::Result<f32> {
344         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
345         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
346     }
SetBoundaryRight(&self, right: f32) -> ::windows::runtime::Result<()>347     pub unsafe fn SetBoundaryRight(&self, right: f32) -> ::windows::runtime::Result<()> {
348         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(right)).ok()
349     }
BoundaryBottom(&self) -> ::windows::runtime::Result<f32>350     pub unsafe fn BoundaryBottom(&self) -> ::windows::runtime::Result<f32> {
351         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
352         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
353     }
SetBoundaryBottom(&self, bottom: f32) -> ::windows::runtime::Result<()>354     pub unsafe fn SetBoundaryBottom(&self, bottom: f32) -> ::windows::runtime::Result<()> {
355         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(bottom)).ok()
356     }
ElasticMarginLeft(&self) -> ::windows::runtime::Result<f32>357     pub unsafe fn ElasticMarginLeft(&self) -> ::windows::runtime::Result<f32> {
358         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
359         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
360     }
SetElasticMarginLeft(&self, left: f32) -> ::windows::runtime::Result<()>361     pub unsafe fn SetElasticMarginLeft(&self, left: f32) -> ::windows::runtime::Result<()> {
362         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), ::std::mem::transmute(left)).ok()
363     }
ElasticMarginTop(&self) -> ::windows::runtime::Result<f32>364     pub unsafe fn ElasticMarginTop(&self) -> ::windows::runtime::Result<f32> {
365         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
366         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
367     }
SetElasticMarginTop(&self, top: f32) -> ::windows::runtime::Result<()>368     pub unsafe fn SetElasticMarginTop(&self, top: f32) -> ::windows::runtime::Result<()> {
369         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), ::std::mem::transmute(top)).ok()
370     }
ElasticMarginRight(&self) -> ::windows::runtime::Result<f32>371     pub unsafe fn ElasticMarginRight(&self) -> ::windows::runtime::Result<f32> {
372         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
373         (::windows::runtime::Interface::vtable(self).29)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
374     }
SetElasticMarginRight(&self, right: f32) -> ::windows::runtime::Result<()>375     pub unsafe fn SetElasticMarginRight(&self, right: f32) -> ::windows::runtime::Result<()> {
376         (::windows::runtime::Interface::vtable(self).30)(::std::mem::transmute_copy(self), ::std::mem::transmute(right)).ok()
377     }
ElasticMarginBottom(&self) -> ::windows::runtime::Result<f32>378     pub unsafe fn ElasticMarginBottom(&self) -> ::windows::runtime::Result<f32> {
379         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
380         (::windows::runtime::Interface::vtable(self).31)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
381     }
SetElasticMarginBottom(&self, bottom: f32) -> ::windows::runtime::Result<()>382     pub unsafe fn SetElasticMarginBottom(&self, bottom: f32) -> ::windows::runtime::Result<()> {
383         (::windows::runtime::Interface::vtable(self).32)(::std::mem::transmute_copy(self), ::std::mem::transmute(bottom)).ok()
384     }
DesiredDisplacement(&self) -> ::windows::runtime::Result<f32>385     pub unsafe fn DesiredDisplacement(&self) -> ::windows::runtime::Result<f32> {
386         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
387         (::windows::runtime::Interface::vtable(self).33)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
388     }
SetDesiredDisplacement(&self, displacement: f32) -> ::windows::runtime::Result<()>389     pub unsafe fn SetDesiredDisplacement(&self, displacement: f32) -> ::windows::runtime::Result<()> {
390         (::windows::runtime::Interface::vtable(self).34)(::std::mem::transmute_copy(self), ::std::mem::transmute(displacement)).ok()
391     }
DesiredRotation(&self) -> ::windows::runtime::Result<f32>392     pub unsafe fn DesiredRotation(&self) -> ::windows::runtime::Result<f32> {
393         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
394         (::windows::runtime::Interface::vtable(self).35)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
395     }
SetDesiredRotation(&self, rotation: f32) -> ::windows::runtime::Result<()>396     pub unsafe fn SetDesiredRotation(&self, rotation: f32) -> ::windows::runtime::Result<()> {
397         (::windows::runtime::Interface::vtable(self).36)(::std::mem::transmute_copy(self), ::std::mem::transmute(rotation)).ok()
398     }
DesiredExpansion(&self) -> ::windows::runtime::Result<f32>399     pub unsafe fn DesiredExpansion(&self) -> ::windows::runtime::Result<f32> {
400         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
401         (::windows::runtime::Interface::vtable(self).37)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
402     }
SetDesiredExpansion(&self, expansion: f32) -> ::windows::runtime::Result<()>403     pub unsafe fn SetDesiredExpansion(&self, expansion: f32) -> ::windows::runtime::Result<()> {
404         (::windows::runtime::Interface::vtable(self).38)(::std::mem::transmute_copy(self), ::std::mem::transmute(expansion)).ok()
405     }
DesiredDeceleration(&self) -> ::windows::runtime::Result<f32>406     pub unsafe fn DesiredDeceleration(&self) -> ::windows::runtime::Result<f32> {
407         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
408         (::windows::runtime::Interface::vtable(self).39)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
409     }
SetDesiredDeceleration(&self, deceleration: f32) -> ::windows::runtime::Result<()>410     pub unsafe fn SetDesiredDeceleration(&self, deceleration: f32) -> ::windows::runtime::Result<()> {
411         (::windows::runtime::Interface::vtable(self).40)(::std::mem::transmute_copy(self), ::std::mem::transmute(deceleration)).ok()
412     }
DesiredAngularDeceleration(&self) -> ::windows::runtime::Result<f32>413     pub unsafe fn DesiredAngularDeceleration(&self) -> ::windows::runtime::Result<f32> {
414         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
415         (::windows::runtime::Interface::vtable(self).41)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
416     }
SetDesiredAngularDeceleration(&self, deceleration: f32) -> ::windows::runtime::Result<()>417     pub unsafe fn SetDesiredAngularDeceleration(&self, deceleration: f32) -> ::windows::runtime::Result<()> {
418         (::windows::runtime::Interface::vtable(self).42)(::std::mem::transmute_copy(self), ::std::mem::transmute(deceleration)).ok()
419     }
DesiredExpansionDeceleration(&self) -> ::windows::runtime::Result<f32>420     pub unsafe fn DesiredExpansionDeceleration(&self) -> ::windows::runtime::Result<f32> {
421         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
422         (::windows::runtime::Interface::vtable(self).43)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
423     }
SetDesiredExpansionDeceleration(&self, deceleration: f32) -> ::windows::runtime::Result<()>424     pub unsafe fn SetDesiredExpansionDeceleration(&self, deceleration: f32) -> ::windows::runtime::Result<()> {
425         (::windows::runtime::Interface::vtable(self).44)(::std::mem::transmute_copy(self), ::std::mem::transmute(deceleration)).ok()
426     }
InitialTimestamp(&self) -> ::windows::runtime::Result<u32>427     pub unsafe fn InitialTimestamp(&self) -> ::windows::runtime::Result<u32> {
428         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
429         (::windows::runtime::Interface::vtable(self).45)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
430     }
SetInitialTimestamp(&self, timestamp: u32) -> ::windows::runtime::Result<()>431     pub unsafe fn SetInitialTimestamp(&self, timestamp: u32) -> ::windows::runtime::Result<()> {
432         (::windows::runtime::Interface::vtable(self).46)(::std::mem::transmute_copy(self), ::std::mem::transmute(timestamp)).ok()
433     }
Reset(&self) -> ::windows::runtime::Result<()>434     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
435         (::windows::runtime::Interface::vtable(self).47)(::std::mem::transmute_copy(self)).ok()
436     }
437     #[cfg(feature = "Win32_Foundation")]
Process(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>438     pub unsafe fn Process(&self) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
439         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
440         (::windows::runtime::Interface::vtable(self).48)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
441     }
442     #[cfg(feature = "Win32_Foundation")]
ProcessTime(&self, timestamp: u32) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL>443     pub unsafe fn ProcessTime(&self, timestamp: u32) -> ::windows::runtime::Result<super::super::super::Foundation::BOOL> {
444         let mut result__: <super::super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
445         (::windows::runtime::Interface::vtable(self).49)(::std::mem::transmute_copy(self), ::std::mem::transmute(timestamp), &mut result__).from_abi::<super::super::super::Foundation::BOOL>(result__)
446     }
Complete(&self) -> ::windows::runtime::Result<()>447     pub unsafe fn Complete(&self) -> ::windows::runtime::Result<()> {
448         (::windows::runtime::Interface::vtable(self).50)(::std::mem::transmute_copy(self)).ok()
449     }
CompleteTime(&self, timestamp: u32) -> ::windows::runtime::Result<()>450     pub unsafe fn CompleteTime(&self, timestamp: u32) -> ::windows::runtime::Result<()> {
451         (::windows::runtime::Interface::vtable(self).51)(::std::mem::transmute_copy(self), ::std::mem::transmute(timestamp)).ok()
452     }
453 }
454 unsafe impl ::windows::runtime::Interface for IInertiaProcessor {
455     type Vtable = IInertiaProcessor_abi;
456     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(414190701, 50670, 16817, [144, 169, 157, 74, 146, 144, 149, 173]);
457 }
458 impl ::std::convert::From<IInertiaProcessor> for ::windows::runtime::IUnknown {
from(value: IInertiaProcessor) -> Self459     fn from(value: IInertiaProcessor) -> Self {
460         unsafe { ::std::mem::transmute(value) }
461     }
462 }
463 impl ::std::convert::From<&IInertiaProcessor> for ::windows::runtime::IUnknown {
from(value: &IInertiaProcessor) -> Self464     fn from(value: &IInertiaProcessor) -> Self {
465         ::std::convert::From::from(::std::clone::Clone::clone(value))
466     }
467 }
468 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IInertiaProcessor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>469     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
470         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
471     }
472 }
473 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IInertiaProcessor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>474     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
475         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
476     }
477 }
478 #[repr(C)]
479 #[doc(hidden)]
480 pub struct IInertiaProcessor_abi(
481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: *mut f32) -> ::windows::runtime::HRESULT,
485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f32) -> ::windows::runtime::HRESULT,
486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, y: *mut f32) -> ::windows::runtime::HRESULT,
487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, y: f32) -> ::windows::runtime::HRESULT,
488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: *mut f32) -> ::windows::runtime::HRESULT,
489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f32) -> ::windows::runtime::HRESULT,
490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, y: *mut f32) -> ::windows::runtime::HRESULT,
491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, y: f32) -> ::windows::runtime::HRESULT,
492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocity: *mut f32) -> ::windows::runtime::HRESULT,
493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocity: f32) -> ::windows::runtime::HRESULT,
494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocity: *mut f32) -> ::windows::runtime::HRESULT,
495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocity: f32) -> ::windows::runtime::HRESULT,
496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, radius: *mut f32) -> ::windows::runtime::HRESULT,
497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, radius: f32) -> ::windows::runtime::HRESULT,
498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, left: *mut f32) -> ::windows::runtime::HRESULT,
499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, left: f32) -> ::windows::runtime::HRESULT,
500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, top: *mut f32) -> ::windows::runtime::HRESULT,
501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, top: f32) -> ::windows::runtime::HRESULT,
502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, right: *mut f32) -> ::windows::runtime::HRESULT,
503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, right: f32) -> ::windows::runtime::HRESULT,
504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bottom: *mut f32) -> ::windows::runtime::HRESULT,
505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bottom: f32) -> ::windows::runtime::HRESULT,
506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, left: *mut f32) -> ::windows::runtime::HRESULT,
507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, left: f32) -> ::windows::runtime::HRESULT,
508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, top: *mut f32) -> ::windows::runtime::HRESULT,
509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, top: f32) -> ::windows::runtime::HRESULT,
510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, right: *mut f32) -> ::windows::runtime::HRESULT,
511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, right: f32) -> ::windows::runtime::HRESULT,
512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bottom: *mut f32) -> ::windows::runtime::HRESULT,
513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bottom: f32) -> ::windows::runtime::HRESULT,
514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displacement: *mut f32) -> ::windows::runtime::HRESULT,
515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displacement: f32) -> ::windows::runtime::HRESULT,
516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rotation: *mut f32) -> ::windows::runtime::HRESULT,
517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rotation: f32) -> ::windows::runtime::HRESULT,
518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, expansion: *mut f32) -> ::windows::runtime::HRESULT,
519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, expansion: f32) -> ::windows::runtime::HRESULT,
520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deceleration: *mut f32) -> ::windows::runtime::HRESULT,
521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deceleration: f32) -> ::windows::runtime::HRESULT,
522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deceleration: *mut f32) -> ::windows::runtime::HRESULT,
523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deceleration: f32) -> ::windows::runtime::HRESULT,
524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deceleration: *mut f32) -> ::windows::runtime::HRESULT,
525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deceleration: f32) -> ::windows::runtime::HRESULT,
526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timestamp: *mut u32) -> ::windows::runtime::HRESULT,
527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timestamp: u32) -> ::windows::runtime::HRESULT,
528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
529     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, completed: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
530     #[cfg(not(feature = "Win32_Foundation"))] usize,
531     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timestamp: u32, completed: *mut super::super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
532     #[cfg(not(feature = "Win32_Foundation"))] usize,
533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timestamp: u32) -> ::windows::runtime::HRESULT,
535 );
536 #[repr(transparent)]
537 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
538 pub struct IManipulationProcessor(::windows::runtime::IUnknown);
539 impl IManipulationProcessor {
SupportedManipulations(&self) -> ::windows::runtime::Result<MANIPULATION_PROCESSOR_MANIPULATIONS>540     pub unsafe fn SupportedManipulations(&self) -> ::windows::runtime::Result<MANIPULATION_PROCESSOR_MANIPULATIONS> {
541         let mut result__: <MANIPULATION_PROCESSOR_MANIPULATIONS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
542         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<MANIPULATION_PROCESSOR_MANIPULATIONS>(result__)
543     }
SetSupportedManipulations(&self, manipulations: MANIPULATION_PROCESSOR_MANIPULATIONS) -> ::windows::runtime::Result<()>544     pub unsafe fn SetSupportedManipulations(&self, manipulations: MANIPULATION_PROCESSOR_MANIPULATIONS) -> ::windows::runtime::Result<()> {
545         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(manipulations)).ok()
546     }
PivotPointX(&self) -> ::windows::runtime::Result<f32>547     pub unsafe fn PivotPointX(&self) -> ::windows::runtime::Result<f32> {
548         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
549         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
550     }
SetPivotPointX(&self, pivotpointx: f32) -> ::windows::runtime::Result<()>551     pub unsafe fn SetPivotPointX(&self, pivotpointx: f32) -> ::windows::runtime::Result<()> {
552         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pivotpointx)).ok()
553     }
PivotPointY(&self) -> ::windows::runtime::Result<f32>554     pub unsafe fn PivotPointY(&self) -> ::windows::runtime::Result<f32> {
555         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
556         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
557     }
SetPivotPointY(&self, pivotpointy: f32) -> ::windows::runtime::Result<()>558     pub unsafe fn SetPivotPointY(&self, pivotpointy: f32) -> ::windows::runtime::Result<()> {
559         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pivotpointy)).ok()
560     }
PivotRadius(&self) -> ::windows::runtime::Result<f32>561     pub unsafe fn PivotRadius(&self) -> ::windows::runtime::Result<f32> {
562         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
563         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
564     }
SetPivotRadius(&self, pivotradius: f32) -> ::windows::runtime::Result<()>565     pub unsafe fn SetPivotRadius(&self, pivotradius: f32) -> ::windows::runtime::Result<()> {
566         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pivotradius)).ok()
567     }
CompleteManipulation(&self) -> ::windows::runtime::Result<()>568     pub unsafe fn CompleteManipulation(&self) -> ::windows::runtime::Result<()> {
569         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)).ok()
570     }
ProcessDown(&self, manipulatorid: u32, x: f32, y: f32) -> ::windows::runtime::Result<()>571     pub unsafe fn ProcessDown(&self, manipulatorid: u32, x: f32, y: f32) -> ::windows::runtime::Result<()> {
572         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(manipulatorid), ::std::mem::transmute(x), ::std::mem::transmute(y)).ok()
573     }
ProcessMove(&self, manipulatorid: u32, x: f32, y: f32) -> ::windows::runtime::Result<()>574     pub unsafe fn ProcessMove(&self, manipulatorid: u32, x: f32, y: f32) -> ::windows::runtime::Result<()> {
575         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(manipulatorid), ::std::mem::transmute(x), ::std::mem::transmute(y)).ok()
576     }
ProcessUp(&self, manipulatorid: u32, x: f32, y: f32) -> ::windows::runtime::Result<()>577     pub unsafe fn ProcessUp(&self, manipulatorid: u32, x: f32, y: f32) -> ::windows::runtime::Result<()> {
578         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(manipulatorid), ::std::mem::transmute(x), ::std::mem::transmute(y)).ok()
579     }
ProcessDownWithTime(&self, manipulatorid: u32, x: f32, y: f32, timestamp: u32) -> ::windows::runtime::Result<()>580     pub unsafe fn ProcessDownWithTime(&self, manipulatorid: u32, x: f32, y: f32, timestamp: u32) -> ::windows::runtime::Result<()> {
581         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(manipulatorid), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(timestamp)).ok()
582     }
ProcessMoveWithTime(&self, manipulatorid: u32, x: f32, y: f32, timestamp: u32) -> ::windows::runtime::Result<()>583     pub unsafe fn ProcessMoveWithTime(&self, manipulatorid: u32, x: f32, y: f32, timestamp: u32) -> ::windows::runtime::Result<()> {
584         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(manipulatorid), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(timestamp)).ok()
585     }
ProcessUpWithTime(&self, manipulatorid: u32, x: f32, y: f32, timestamp: u32) -> ::windows::runtime::Result<()>586     pub unsafe fn ProcessUpWithTime(&self, manipulatorid: u32, x: f32, y: f32, timestamp: u32) -> ::windows::runtime::Result<()> {
587         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(manipulatorid), ::std::mem::transmute(x), ::std::mem::transmute(y), ::std::mem::transmute(timestamp)).ok()
588     }
GetVelocityX(&self) -> ::windows::runtime::Result<f32>589     pub unsafe fn GetVelocityX(&self) -> ::windows::runtime::Result<f32> {
590         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
591         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
592     }
GetVelocityY(&self) -> ::windows::runtime::Result<f32>593     pub unsafe fn GetVelocityY(&self) -> ::windows::runtime::Result<f32> {
594         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
595         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
596     }
GetExpansionVelocity(&self) -> ::windows::runtime::Result<f32>597     pub unsafe fn GetExpansionVelocity(&self) -> ::windows::runtime::Result<f32> {
598         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
599         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
600     }
GetAngularVelocity(&self) -> ::windows::runtime::Result<f32>601     pub unsafe fn GetAngularVelocity(&self) -> ::windows::runtime::Result<f32> {
602         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
603         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
604     }
MinimumScaleRotateRadius(&self) -> ::windows::runtime::Result<f32>605     pub unsafe fn MinimumScaleRotateRadius(&self) -> ::windows::runtime::Result<f32> {
606         let mut result__: <f32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
607         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f32>(result__)
608     }
SetMinimumScaleRotateRadius(&self, minradius: f32) -> ::windows::runtime::Result<()>609     pub unsafe fn SetMinimumScaleRotateRadius(&self, minradius: f32) -> ::windows::runtime::Result<()> {
610         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(minradius)).ok()
611     }
612 }
613 unsafe impl ::windows::runtime::Interface for IManipulationProcessor {
614     type Vtable = IManipulationProcessor_abi;
615     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2720711961, 33536, 18592, [190, 244, 241, 190, 135, 55, 219, 164]);
616 }
617 impl ::std::convert::From<IManipulationProcessor> for ::windows::runtime::IUnknown {
from(value: IManipulationProcessor) -> Self618     fn from(value: IManipulationProcessor) -> Self {
619         unsafe { ::std::mem::transmute(value) }
620     }
621 }
622 impl ::std::convert::From<&IManipulationProcessor> for ::windows::runtime::IUnknown {
from(value: &IManipulationProcessor) -> Self623     fn from(value: &IManipulationProcessor) -> Self {
624         ::std::convert::From::from(::std::clone::Clone::clone(value))
625     }
626 }
627 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IManipulationProcessor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>628     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
629         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
630     }
631 }
632 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IManipulationProcessor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>633     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
634         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
635     }
636 }
637 #[repr(C)]
638 #[doc(hidden)]
639 pub struct IManipulationProcessor_abi(
640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, manipulations: *mut MANIPULATION_PROCESSOR_MANIPULATIONS) -> ::windows::runtime::HRESULT,
644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, manipulations: MANIPULATION_PROCESSOR_MANIPULATIONS) -> ::windows::runtime::HRESULT,
645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pivotpointx: *mut f32) -> ::windows::runtime::HRESULT,
646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pivotpointx: f32) -> ::windows::runtime::HRESULT,
647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pivotpointy: *mut f32) -> ::windows::runtime::HRESULT,
648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pivotpointy: f32) -> ::windows::runtime::HRESULT,
649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pivotradius: *mut f32) -> ::windows::runtime::HRESULT,
650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pivotradius: f32) -> ::windows::runtime::HRESULT,
651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, manipulatorid: u32, x: f32, y: f32) -> ::windows::runtime::HRESULT,
653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, manipulatorid: u32, x: f32, y: f32) -> ::windows::runtime::HRESULT,
654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, manipulatorid: u32, x: f32, y: f32) -> ::windows::runtime::HRESULT,
655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, manipulatorid: u32, x: f32, y: f32, timestamp: u32) -> ::windows::runtime::HRESULT,
656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, manipulatorid: u32, x: f32, y: f32, timestamp: u32) -> ::windows::runtime::HRESULT,
657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, manipulatorid: u32, x: f32, y: f32, timestamp: u32) -> ::windows::runtime::HRESULT,
658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocityx: *mut f32) -> ::windows::runtime::HRESULT,
659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocityy: *mut f32) -> ::windows::runtime::HRESULT,
660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, expansionvelocity: *mut f32) -> ::windows::runtime::HRESULT,
661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, angularvelocity: *mut f32) -> ::windows::runtime::HRESULT,
662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minradius: *mut f32) -> ::windows::runtime::HRESULT,
663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, minradius: f32) -> ::windows::runtime::HRESULT,
664 );
665 pub const InertiaProcessor: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2880598151, 19680, 20056, [160, 203, 226, 77, 249, 104, 20, 190]);
666 #[cfg(feature = "Win32_Foundation")]
667 #[inline]
IsTouchWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0, pulflags: *mut u32) -> super::super::super::Foundation::BOOL668 pub unsafe fn IsTouchWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0, pulflags: *mut u32) -> super::super::super::Foundation::BOOL {
669     #[cfg(windows)]
670     {
671         #[link(name = "windows")]
672         extern "system" {
673             fn IsTouchWindow(hwnd: super::super::super::Foundation::HWND, pulflags: *mut u32) -> super::super::super::Foundation::BOOL;
674         }
675         ::std::mem::transmute(IsTouchWindow(hwnd.into_param().abi(), ::std::mem::transmute(pulflags)))
676     }
677     #[cfg(not(windows))]
678     unimplemented!("Unsupported target OS");
679 }
680 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
681 #[repr(transparent)]
682 pub struct MANIPULATION_PROCESSOR_MANIPULATIONS(pub i32);
683 pub const MANIPULATION_NONE: MANIPULATION_PROCESSOR_MANIPULATIONS = MANIPULATION_PROCESSOR_MANIPULATIONS(0i32);
684 pub const MANIPULATION_TRANSLATE_X: MANIPULATION_PROCESSOR_MANIPULATIONS = MANIPULATION_PROCESSOR_MANIPULATIONS(1i32);
685 pub const MANIPULATION_TRANSLATE_Y: MANIPULATION_PROCESSOR_MANIPULATIONS = MANIPULATION_PROCESSOR_MANIPULATIONS(2i32);
686 pub const MANIPULATION_SCALE: MANIPULATION_PROCESSOR_MANIPULATIONS = MANIPULATION_PROCESSOR_MANIPULATIONS(4i32);
687 pub const MANIPULATION_ROTATE: MANIPULATION_PROCESSOR_MANIPULATIONS = MANIPULATION_PROCESSOR_MANIPULATIONS(8i32);
688 pub const MANIPULATION_ALL: MANIPULATION_PROCESSOR_MANIPULATIONS = MANIPULATION_PROCESSOR_MANIPULATIONS(15i32);
689 impl ::std::convert::From<i32> for MANIPULATION_PROCESSOR_MANIPULATIONS {
from(value: i32) -> Self690     fn from(value: i32) -> Self {
691         Self(value)
692     }
693 }
694 unsafe impl ::windows::runtime::Abi for MANIPULATION_PROCESSOR_MANIPULATIONS {
695     type Abi = Self;
696     type DefaultType = Self;
697 }
698 pub const ManipulationProcessor: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1501384624, 18429, 19199, [137, 185, 198, 207, 174, 140, 240, 142]);
699 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
700 #[repr(transparent)]
701 pub struct REGISTER_TOUCH_WINDOW_FLAGS(pub u32);
702 pub const TWF_FINETOUCH: REGISTER_TOUCH_WINDOW_FLAGS = REGISTER_TOUCH_WINDOW_FLAGS(1u32);
703 pub const TWF_WANTPALM: REGISTER_TOUCH_WINDOW_FLAGS = REGISTER_TOUCH_WINDOW_FLAGS(2u32);
704 impl ::std::convert::From<u32> for REGISTER_TOUCH_WINDOW_FLAGS {
from(value: u32) -> Self705     fn from(value: u32) -> Self {
706         Self(value)
707     }
708 }
709 unsafe impl ::windows::runtime::Abi for REGISTER_TOUCH_WINDOW_FLAGS {
710     type Abi = Self;
711     type DefaultType = Self;
712 }
713 impl ::std::ops::BitOr for REGISTER_TOUCH_WINDOW_FLAGS {
714     type Output = Self;
bitor(self, rhs: Self) -> Self715     fn bitor(self, rhs: Self) -> Self {
716         Self(self.0 | rhs.0)
717     }
718 }
719 impl ::std::ops::BitAnd for REGISTER_TOUCH_WINDOW_FLAGS {
720     type Output = Self;
bitand(self, rhs: Self) -> Self721     fn bitand(self, rhs: Self) -> Self {
722         Self(self.0 & rhs.0)
723     }
724 }
725 impl ::std::ops::BitOrAssign for REGISTER_TOUCH_WINDOW_FLAGS {
bitor_assign(&mut self, rhs: Self)726     fn bitor_assign(&mut self, rhs: Self) {
727         self.0.bitor_assign(rhs.0)
728     }
729 }
730 impl ::std::ops::BitAndAssign for REGISTER_TOUCH_WINDOW_FLAGS {
bitand_assign(&mut self, rhs: Self)731     fn bitand_assign(&mut self, rhs: Self) {
732         self.0.bitand_assign(rhs.0)
733     }
734 }
735 impl ::std::ops::Not for REGISTER_TOUCH_WINDOW_FLAGS {
736     type Output = Self;
not(self) -> Self737     fn not(self) -> Self {
738         Self(self.0.not())
739     }
740 }
741 #[cfg(feature = "Win32_Foundation")]
742 #[inline]
RegisterTouchWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0, ulflags: REGISTER_TOUCH_WINDOW_FLAGS) -> super::super::super::Foundation::BOOL743 pub unsafe fn RegisterTouchWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0, ulflags: REGISTER_TOUCH_WINDOW_FLAGS) -> super::super::super::Foundation::BOOL {
744     #[cfg(windows)]
745     {
746         #[link(name = "windows")]
747         extern "system" {
748             fn RegisterTouchWindow(hwnd: super::super::super::Foundation::HWND, ulflags: REGISTER_TOUCH_WINDOW_FLAGS) -> super::super::super::Foundation::BOOL;
749         }
750         ::std::mem::transmute(RegisterTouchWindow(hwnd.into_param().abi(), ::std::mem::transmute(ulflags)))
751     }
752     #[cfg(not(windows))]
753     unimplemented!("Unsupported target OS");
754 }
755 #[cfg(feature = "Win32_Foundation")]
756 #[inline]
SetGestureConfig<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0, dwreserved: u32, cids: u32, pgestureconfig: *const GESTURECONFIG, cbsize: u32) -> super::super::super::Foundation::BOOL757 pub unsafe fn SetGestureConfig<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0, dwreserved: u32, cids: u32, pgestureconfig: *const GESTURECONFIG, cbsize: u32) -> super::super::super::Foundation::BOOL {
758     #[cfg(windows)]
759     {
760         #[link(name = "windows")]
761         extern "system" {
762             fn SetGestureConfig(hwnd: super::super::super::Foundation::HWND, dwreserved: u32, cids: u32, pgestureconfig: *const GESTURECONFIG, cbsize: u32) -> super::super::super::Foundation::BOOL;
763         }
764         ::std::mem::transmute(SetGestureConfig(hwnd.into_param().abi(), ::std::mem::transmute(dwreserved), ::std::mem::transmute(cids), ::std::mem::transmute(pgestureconfig), ::std::mem::transmute(cbsize)))
765     }
766     #[cfg(not(windows))]
767     unimplemented!("Unsupported target OS");
768 }
769 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
770 #[repr(transparent)]
771 pub struct TOUCHEVENTF_FLAGS(pub u32);
772 pub const TOUCHEVENTF_MOVE: TOUCHEVENTF_FLAGS = TOUCHEVENTF_FLAGS(1u32);
773 pub const TOUCHEVENTF_DOWN: TOUCHEVENTF_FLAGS = TOUCHEVENTF_FLAGS(2u32);
774 pub const TOUCHEVENTF_UP: TOUCHEVENTF_FLAGS = TOUCHEVENTF_FLAGS(4u32);
775 pub const TOUCHEVENTF_INRANGE: TOUCHEVENTF_FLAGS = TOUCHEVENTF_FLAGS(8u32);
776 pub const TOUCHEVENTF_PRIMARY: TOUCHEVENTF_FLAGS = TOUCHEVENTF_FLAGS(16u32);
777 pub const TOUCHEVENTF_NOCOALESCE: TOUCHEVENTF_FLAGS = TOUCHEVENTF_FLAGS(32u32);
778 pub const TOUCHEVENTF_PEN: TOUCHEVENTF_FLAGS = TOUCHEVENTF_FLAGS(64u32);
779 pub const TOUCHEVENTF_PALM: TOUCHEVENTF_FLAGS = TOUCHEVENTF_FLAGS(128u32);
780 impl ::std::convert::From<u32> for TOUCHEVENTF_FLAGS {
from(value: u32) -> Self781     fn from(value: u32) -> Self {
782         Self(value)
783     }
784 }
785 unsafe impl ::windows::runtime::Abi for TOUCHEVENTF_FLAGS {
786     type Abi = Self;
787     type DefaultType = Self;
788 }
789 impl ::std::ops::BitOr for TOUCHEVENTF_FLAGS {
790     type Output = Self;
bitor(self, rhs: Self) -> Self791     fn bitor(self, rhs: Self) -> Self {
792         Self(self.0 | rhs.0)
793     }
794 }
795 impl ::std::ops::BitAnd for TOUCHEVENTF_FLAGS {
796     type Output = Self;
bitand(self, rhs: Self) -> Self797     fn bitand(self, rhs: Self) -> Self {
798         Self(self.0 & rhs.0)
799     }
800 }
801 impl ::std::ops::BitOrAssign for TOUCHEVENTF_FLAGS {
bitor_assign(&mut self, rhs: Self)802     fn bitor_assign(&mut self, rhs: Self) {
803         self.0.bitor_assign(rhs.0)
804     }
805 }
806 impl ::std::ops::BitAndAssign for TOUCHEVENTF_FLAGS {
bitand_assign(&mut self, rhs: Self)807     fn bitand_assign(&mut self, rhs: Self) {
808         self.0.bitand_assign(rhs.0)
809     }
810 }
811 impl ::std::ops::Not for TOUCHEVENTF_FLAGS {
812     type Output = Self;
not(self) -> Self813     fn not(self) -> Self {
814         Self(self.0.not())
815     }
816 }
817 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
818 #[repr(C)]
819 #[cfg(feature = "Win32_Foundation")]
820 pub struct TOUCHINPUT {
821     pub x: i32,
822     pub y: i32,
823     pub hSource: super::super::super::Foundation::HANDLE,
824     pub dwID: u32,
825     pub dwFlags: TOUCHEVENTF_FLAGS,
826     pub dwMask: TOUCHINPUTMASKF_MASK,
827     pub dwTime: u32,
828     pub dwExtraInfo: usize,
829     pub cxContact: u32,
830     pub cyContact: u32,
831 }
832 #[cfg(feature = "Win32_Foundation")]
833 impl TOUCHINPUT {}
834 #[cfg(feature = "Win32_Foundation")]
835 impl ::std::default::Default for TOUCHINPUT {
default() -> Self836     fn default() -> Self {
837         unsafe { ::std::mem::zeroed() }
838     }
839 }
840 #[cfg(feature = "Win32_Foundation")]
841 impl ::std::fmt::Debug for TOUCHINPUT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result842     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
843         fmt.debug_struct("TOUCHINPUT")
844             .field("x", &self.x)
845             .field("y", &self.y)
846             .field("hSource", &self.hSource)
847             .field("dwID", &self.dwID)
848             .field("dwFlags", &self.dwFlags)
849             .field("dwMask", &self.dwMask)
850             .field("dwTime", &self.dwTime)
851             .field("dwExtraInfo", &self.dwExtraInfo)
852             .field("cxContact", &self.cxContact)
853             .field("cyContact", &self.cyContact)
854             .finish()
855     }
856 }
857 #[cfg(feature = "Win32_Foundation")]
858 impl ::std::cmp::PartialEq for TOUCHINPUT {
eq(&self, other: &Self) -> bool859     fn eq(&self, other: &Self) -> bool {
860         self.x == other.x && self.y == other.y && self.hSource == other.hSource && self.dwID == other.dwID && self.dwFlags == other.dwFlags && self.dwMask == other.dwMask && self.dwTime == other.dwTime && self.dwExtraInfo == other.dwExtraInfo && self.cxContact == other.cxContact && self.cyContact == other.cyContact
861     }
862 }
863 #[cfg(feature = "Win32_Foundation")]
864 impl ::std::cmp::Eq for TOUCHINPUT {}
865 #[cfg(feature = "Win32_Foundation")]
866 unsafe impl ::windows::runtime::Abi for TOUCHINPUT {
867     type Abi = Self;
868     type DefaultType = Self;
869 }
870 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
871 #[repr(transparent)]
872 pub struct TOUCHINPUTMASKF_MASK(pub u32);
873 pub const TOUCHINPUTMASKF_TIMEFROMSYSTEM: TOUCHINPUTMASKF_MASK = TOUCHINPUTMASKF_MASK(1u32);
874 pub const TOUCHINPUTMASKF_EXTRAINFO: TOUCHINPUTMASKF_MASK = TOUCHINPUTMASKF_MASK(2u32);
875 pub const TOUCHINPUTMASKF_CONTACTAREA: TOUCHINPUTMASKF_MASK = TOUCHINPUTMASKF_MASK(4u32);
876 impl ::std::convert::From<u32> for TOUCHINPUTMASKF_MASK {
from(value: u32) -> Self877     fn from(value: u32) -> Self {
878         Self(value)
879     }
880 }
881 unsafe impl ::windows::runtime::Abi for TOUCHINPUTMASKF_MASK {
882     type Abi = Self;
883     type DefaultType = Self;
884 }
885 impl ::std::ops::BitOr for TOUCHINPUTMASKF_MASK {
886     type Output = Self;
bitor(self, rhs: Self) -> Self887     fn bitor(self, rhs: Self) -> Self {
888         Self(self.0 | rhs.0)
889     }
890 }
891 impl ::std::ops::BitAnd for TOUCHINPUTMASKF_MASK {
892     type Output = Self;
bitand(self, rhs: Self) -> Self893     fn bitand(self, rhs: Self) -> Self {
894         Self(self.0 & rhs.0)
895     }
896 }
897 impl ::std::ops::BitOrAssign for TOUCHINPUTMASKF_MASK {
bitor_assign(&mut self, rhs: Self)898     fn bitor_assign(&mut self, rhs: Self) {
899         self.0.bitor_assign(rhs.0)
900     }
901 }
902 impl ::std::ops::BitAndAssign for TOUCHINPUTMASKF_MASK {
bitand_assign(&mut self, rhs: Self)903     fn bitand_assign(&mut self, rhs: Self) {
904         self.0.bitand_assign(rhs.0)
905     }
906 }
907 impl ::std::ops::Not for TOUCHINPUTMASKF_MASK {
908     type Output = Self;
not(self) -> Self909     fn not(self) -> Self {
910         Self(self.0.not())
911     }
912 }
913 #[cfg(feature = "Win32_Foundation")]
914 #[inline]
UnregisterTouchWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0) -> super::super::super::Foundation::BOOL915 pub unsafe fn UnregisterTouchWindow<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::HWND>>(hwnd: Param0) -> super::super::super::Foundation::BOOL {
916     #[cfg(windows)]
917     {
918         #[link(name = "windows")]
919         extern "system" {
920             fn UnregisterTouchWindow(hwnd: super::super::super::Foundation::HWND) -> super::super::super::Foundation::BOOL;
921         }
922         ::std::mem::transmute(UnregisterTouchWindow(hwnd.into_param().abi()))
923     }
924     #[cfg(not(windows))]
925     unimplemented!("Unsupported target OS");
926 }
927 #[repr(transparent)]
928 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
929 pub struct _IManipulationEvents(::windows::runtime::IUnknown);
930 impl _IManipulationEvents {
ManipulationStarted(&self, x: f32, y: f32) -> ::windows::runtime::Result<()>931     pub unsafe fn ManipulationStarted(&self, x: f32, y: f32) -> ::windows::runtime::Result<()> {
932         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(x), ::std::mem::transmute(y)).ok()
933     }
ManipulationDelta(&self, x: f32, y: f32, translationdeltax: f32, translationdeltay: f32, scaledelta: f32, expansiondelta: f32, rotationdelta: f32, cumulativetranslationx: f32, cumulativetranslationy: f32, cumulativescale: f32, cumulativeexpansion: f32, cumulativerotation: f32) -> ::windows::runtime::Result<()>934     pub unsafe fn ManipulationDelta(&self, x: f32, y: f32, translationdeltax: f32, translationdeltay: f32, scaledelta: f32, expansiondelta: f32, rotationdelta: f32, cumulativetranslationx: f32, cumulativetranslationy: f32, cumulativescale: f32, cumulativeexpansion: f32, cumulativerotation: f32) -> ::windows::runtime::Result<()> {
935         (::windows::runtime::Interface::vtable(self).4)(
936             ::std::mem::transmute_copy(self),
937             ::std::mem::transmute(x),
938             ::std::mem::transmute(y),
939             ::std::mem::transmute(translationdeltax),
940             ::std::mem::transmute(translationdeltay),
941             ::std::mem::transmute(scaledelta),
942             ::std::mem::transmute(expansiondelta),
943             ::std::mem::transmute(rotationdelta),
944             ::std::mem::transmute(cumulativetranslationx),
945             ::std::mem::transmute(cumulativetranslationy),
946             ::std::mem::transmute(cumulativescale),
947             ::std::mem::transmute(cumulativeexpansion),
948             ::std::mem::transmute(cumulativerotation),
949         )
950         .ok()
951     }
ManipulationCompleted(&self, x: f32, y: f32, cumulativetranslationx: f32, cumulativetranslationy: f32, cumulativescale: f32, cumulativeexpansion: f32, cumulativerotation: f32) -> ::windows::runtime::Result<()>952     pub unsafe fn ManipulationCompleted(&self, x: f32, y: f32, cumulativetranslationx: f32, cumulativetranslationy: f32, cumulativescale: f32, cumulativeexpansion: f32, cumulativerotation: f32) -> ::windows::runtime::Result<()> {
953         (::windows::runtime::Interface::vtable(self).5)(
954             ::std::mem::transmute_copy(self),
955             ::std::mem::transmute(x),
956             ::std::mem::transmute(y),
957             ::std::mem::transmute(cumulativetranslationx),
958             ::std::mem::transmute(cumulativetranslationy),
959             ::std::mem::transmute(cumulativescale),
960             ::std::mem::transmute(cumulativeexpansion),
961             ::std::mem::transmute(cumulativerotation),
962         )
963         .ok()
964     }
965 }
966 unsafe impl ::windows::runtime::Interface for _IManipulationEvents {
967     type Vtable = _IManipulationEvents_abi;
968     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1331874010, 40019, 19234, [147, 223, 146, 122, 134, 43, 187, 3]);
969 }
970 impl ::std::convert::From<_IManipulationEvents> for ::windows::runtime::IUnknown {
from(value: _IManipulationEvents) -> Self971     fn from(value: _IManipulationEvents) -> Self {
972         unsafe { ::std::mem::transmute(value) }
973     }
974 }
975 impl ::std::convert::From<&_IManipulationEvents> for ::windows::runtime::IUnknown {
from(value: &_IManipulationEvents) -> Self976     fn from(value: &_IManipulationEvents) -> Self {
977         ::std::convert::From::from(::std::clone::Clone::clone(value))
978     }
979 }
980 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for _IManipulationEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>981     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
982         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
983     }
984 }
985 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &_IManipulationEvents {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>986     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
987         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
988     }
989 }
990 #[repr(C)]
991 #[doc(hidden)]
992 pub struct _IManipulationEvents_abi(
993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f32, y: f32) -> ::windows::runtime::HRESULT,
997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f32, y: f32, translationdeltax: f32, translationdeltay: f32, scaledelta: f32, expansiondelta: f32, rotationdelta: f32, cumulativetranslationx: f32, cumulativetranslationy: f32, cumulativescale: f32, cumulativeexpansion: f32, cumulativerotation: f32) -> ::windows::runtime::HRESULT,
998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, x: f32, y: f32, cumulativetranslationx: f32, cumulativetranslationy: f32, cumulativescale: f32, cumulativeexpansion: f32, cumulativerotation: f32) -> ::windows::runtime::HRESULT,
999 );
1000