1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[repr(transparent)]
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4 pub struct CompositionConditionalValue(::windows::runtime::IInspectable);
5 impl CompositionConditionalValue {
Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation>6     pub fn Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation> {
7         let this = self;
8         unsafe {
9             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ExpressionAnimation>(result__)
11         }
12     }
SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>13     pub fn SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14         let this = self;
15         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16     }
Value(&self) -> ::windows::runtime::Result<super::ExpressionAnimation>17     pub fn Value(&self) -> ::windows::runtime::Result<super::ExpressionAnimation> {
18         let this = self;
19         unsafe {
20             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ExpressionAnimation>(result__)
22         }
23     }
SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>24     pub fn SetValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
25         let this = self;
26         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<CompositionConditionalValue>28     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<CompositionConditionalValue> {
29         Self::ICompositionConditionalValueStatics(|this| unsafe {
30             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), compositor.into_param().abi(), &mut result__).from_abi::<CompositionConditionalValue>(result__)
32         })
33     }
34     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>35     pub fn Close(&self) -> ::windows::runtime::Result<()> {
36         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
37         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
38     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>39     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
40         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
41         unsafe {
42             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
43             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
44         }
45     }
46     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>47     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
48         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
49         unsafe {
50             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
51             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
52         }
53     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>54     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
55         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
56         unsafe {
57             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
58             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
59         }
60     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>61     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
62         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
63         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
64     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>65     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
66         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
67         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
68     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>69     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
70         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
71         unsafe {
72             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
73             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
74         }
75     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>76     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
77         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
78         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
79     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>80     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
81         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
82         unsafe {
83             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
84             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
85         }
86     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>87     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
88         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
89         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
90     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>91     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
92         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
93         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
94     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>95     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
96         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
97         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
98     }
99     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>100     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
101         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
102         unsafe {
103             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
104             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
105         }
106     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>107     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
108         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
109         unsafe {
110             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
111             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
112         }
113     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>114     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
115         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
116         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
117     }
ICompositionConditionalValueStatics<R, F: FnOnce(&ICompositionConditionalValueStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>118     pub fn ICompositionConditionalValueStatics<R, F: FnOnce(&ICompositionConditionalValueStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
119         static mut SHARED: ::windows::runtime::FactoryCache<CompositionConditionalValue, ICompositionConditionalValueStatics> = ::windows::runtime::FactoryCache::new();
120         unsafe { SHARED.call(callback) }
121     }
122 }
123 unsafe impl ::windows::runtime::RuntimeType for CompositionConditionalValue {
124     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.CompositionConditionalValue;{43250538-eb73-4561-a71d-1a43eaeb7a9b})");
125 }
126 unsafe impl ::windows::runtime::Interface for CompositionConditionalValue {
127     type Vtable = ICompositionConditionalValue_abi;
128     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1126499640, 60275, 17761, [167, 29, 26, 67, 234, 235, 122, 155]);
129 }
130 impl ::windows::runtime::RuntimeName for CompositionConditionalValue {
131     const NAME: &'static str = "Windows.UI.Composition.Interactions.CompositionConditionalValue";
132 }
133 impl ::std::convert::From<CompositionConditionalValue> for ::windows::runtime::IUnknown {
from(value: CompositionConditionalValue) -> Self134     fn from(value: CompositionConditionalValue) -> Self {
135         unsafe { ::std::mem::transmute(value) }
136     }
137 }
138 impl ::std::convert::From<&CompositionConditionalValue> for ::windows::runtime::IUnknown {
from(value: &CompositionConditionalValue) -> Self139     fn from(value: &CompositionConditionalValue) -> Self {
140         ::std::convert::From::from(::std::clone::Clone::clone(value))
141     }
142 }
143 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>144     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
145         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
146     }
147 }
148 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>149     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
150         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
151     }
152 }
153 impl ::std::convert::From<CompositionConditionalValue> for ::windows::runtime::IInspectable {
from(value: CompositionConditionalValue) -> Self154     fn from(value: CompositionConditionalValue) -> Self {
155         value.0
156     }
157 }
158 impl ::std::convert::From<&CompositionConditionalValue> for ::windows::runtime::IInspectable {
from(value: &CompositionConditionalValue) -> Self159     fn from(value: &CompositionConditionalValue) -> Self {
160         value.0.clone()
161     }
162 }
163 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>164     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
165         ::windows::runtime::Param::Owned(self.0)
166     }
167 }
168 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>169     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
170         ::windows::runtime::Param::Borrowed(&self.0)
171     }
172 }
173 #[cfg(feature = "Foundation")]
174 impl ::std::convert::TryFrom<CompositionConditionalValue> for super::super::super::Foundation::IClosable {
175     type Error = ::windows::runtime::Error;
try_from(value: CompositionConditionalValue) -> ::windows::runtime::Result<Self>176     fn try_from(value: CompositionConditionalValue) -> ::windows::runtime::Result<Self> {
177         ::std::convert::TryFrom::try_from(&value)
178     }
179 }
180 #[cfg(feature = "Foundation")]
181 impl ::std::convert::TryFrom<&CompositionConditionalValue> for super::super::super::Foundation::IClosable {
182     type Error = ::windows::runtime::Error;
try_from(value: &CompositionConditionalValue) -> ::windows::runtime::Result<Self>183     fn try_from(value: &CompositionConditionalValue) -> ::windows::runtime::Result<Self> {
184         ::windows::runtime::Interface::cast(value)
185     }
186 }
187 #[cfg(feature = "Foundation")]
188 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>189     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
190         ::windows::runtime::IntoParam::into_param(&self)
191     }
192 }
193 #[cfg(feature = "Foundation")]
194 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>195     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
196         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
197     }
198 }
199 impl ::std::convert::TryFrom<CompositionConditionalValue> for super::IAnimationObject {
200     type Error = ::windows::runtime::Error;
try_from(value: CompositionConditionalValue) -> ::windows::runtime::Result<Self>201     fn try_from(value: CompositionConditionalValue) -> ::windows::runtime::Result<Self> {
202         ::std::convert::TryFrom::try_from(&value)
203     }
204 }
205 impl ::std::convert::TryFrom<&CompositionConditionalValue> for super::IAnimationObject {
206     type Error = ::windows::runtime::Error;
try_from(value: &CompositionConditionalValue) -> ::windows::runtime::Result<Self>207     fn try_from(value: &CompositionConditionalValue) -> ::windows::runtime::Result<Self> {
208         ::windows::runtime::Interface::cast(value)
209     }
210 }
211 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>212     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
213         ::windows::runtime::IntoParam::into_param(&self)
214     }
215 }
216 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>217     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
218         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
219     }
220 }
221 impl ::std::convert::From<CompositionConditionalValue> for super::CompositionObject {
from(value: CompositionConditionalValue) -> Self222     fn from(value: CompositionConditionalValue) -> Self {
223         ::std::convert::Into::<super::CompositionObject>::into(&value)
224     }
225 }
226 impl ::std::convert::From<&CompositionConditionalValue> for super::CompositionObject {
from(value: &CompositionConditionalValue) -> Self227     fn from(value: &CompositionConditionalValue) -> Self {
228         ::windows::runtime::Interface::cast(value).unwrap()
229     }
230 }
231 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>232     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
233         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
234     }
235 }
236 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &CompositionConditionalValue {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>237     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
238         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
239     }
240 }
241 unsafe impl ::std::marker::Send for CompositionConditionalValue {}
242 unsafe impl ::std::marker::Sync for CompositionConditionalValue {}
243 #[repr(transparent)]
244 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
245 pub struct CompositionInteractionSourceCollection(::windows::runtime::IInspectable);
246 impl CompositionInteractionSourceCollection {
247     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Collections::IIterator<ICompositionInteractionSource>>248     pub fn First(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Collections::IIterator<ICompositionInteractionSource>> {
249         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource>>(self)?;
250         unsafe {
251             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
252             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Collections::IIterator<ICompositionInteractionSource>>(result__)
253         }
254     }
Count(&self) -> ::windows::runtime::Result<i32>255     pub fn Count(&self) -> ::windows::runtime::Result<i32> {
256         let this = self;
257         unsafe {
258             let mut result__: i32 = ::std::mem::zeroed();
259             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
260         }
261     }
Add<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionInteractionSource>>(&self, value: Param0) -> ::windows::runtime::Result<()>262     pub fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionInteractionSource>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
263         let this = self;
264         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
265     }
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionInteractionSource>>(&self, value: Param0) -> ::windows::runtime::Result<()>266     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionInteractionSource>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
267         let this = self;
268         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
269     }
RemoveAll(&self) -> ::windows::runtime::Result<()>270     pub fn RemoveAll(&self) -> ::windows::runtime::Result<()> {
271         let this = self;
272         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this)).ok() }
273     }
274     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>275     pub fn Close(&self) -> ::windows::runtime::Result<()> {
276         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
277         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
278     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>279     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
280         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
281         unsafe {
282             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
283             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
284         }
285     }
286     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>287     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
288         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
289         unsafe {
290             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
291             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
292         }
293     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>294     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
295         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
296         unsafe {
297             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
298             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
299         }
300     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>301     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
302         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
303         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
304     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>305     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
306         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
307         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
308     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>309     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
310         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
311         unsafe {
312             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
313             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
314         }
315     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>316     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
317         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
318         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
319     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>320     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
321         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
322         unsafe {
323             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
324             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
325         }
326     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>327     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
328         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
329         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
330     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>331     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
332         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
333         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
334     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>335     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
336         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
337         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
338     }
339     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>340     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
341         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
342         unsafe {
343             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
344             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
345         }
346     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>347     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
348         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
349         unsafe {
350             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
351             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
352         }
353     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>354     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
355         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
356         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
357     }
358 }
359 unsafe impl ::windows::runtime::RuntimeType for CompositionInteractionSourceCollection {
360     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.CompositionInteractionSourceCollection;{1b468e4b-a5bf-47d8-a547-3894155a158c})");
361 }
362 unsafe impl ::windows::runtime::Interface for CompositionInteractionSourceCollection {
363     type Vtable = ICompositionInteractionSourceCollection_abi;
364     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(457608779, 42431, 18392, [165, 71, 56, 148, 21, 90, 21, 140]);
365 }
366 impl ::windows::runtime::RuntimeName for CompositionInteractionSourceCollection {
367     const NAME: &'static str = "Windows.UI.Composition.Interactions.CompositionInteractionSourceCollection";
368 }
369 impl ::std::convert::From<CompositionInteractionSourceCollection> for ::windows::runtime::IUnknown {
from(value: CompositionInteractionSourceCollection) -> Self370     fn from(value: CompositionInteractionSourceCollection) -> Self {
371         unsafe { ::std::mem::transmute(value) }
372     }
373 }
374 impl ::std::convert::From<&CompositionInteractionSourceCollection> for ::windows::runtime::IUnknown {
from(value: &CompositionInteractionSourceCollection) -> Self375     fn from(value: &CompositionInteractionSourceCollection) -> Self {
376         ::std::convert::From::from(::std::clone::Clone::clone(value))
377     }
378 }
379 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>380     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
381         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
382     }
383 }
384 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>385     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
386         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
387     }
388 }
389 impl ::std::convert::From<CompositionInteractionSourceCollection> for ::windows::runtime::IInspectable {
from(value: CompositionInteractionSourceCollection) -> Self390     fn from(value: CompositionInteractionSourceCollection) -> Self {
391         value.0
392     }
393 }
394 impl ::std::convert::From<&CompositionInteractionSourceCollection> for ::windows::runtime::IInspectable {
from(value: &CompositionInteractionSourceCollection) -> Self395     fn from(value: &CompositionInteractionSourceCollection) -> Self {
396         value.0.clone()
397     }
398 }
399 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>400     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
401         ::windows::runtime::Param::Owned(self.0)
402     }
403 }
404 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>405     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
406         ::windows::runtime::Param::Borrowed(&self.0)
407     }
408 }
409 #[cfg(feature = "Foundation_Collections")]
410 impl ::std::convert::TryFrom<CompositionInteractionSourceCollection> for super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource> {
411     type Error = ::windows::runtime::Error;
try_from(value: CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self>412     fn try_from(value: CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self> {
413         ::std::convert::TryFrom::try_from(&value)
414     }
415 }
416 #[cfg(feature = "Foundation_Collections")]
417 impl ::std::convert::TryFrom<&CompositionInteractionSourceCollection> for super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource> {
418     type Error = ::windows::runtime::Error;
try_from(value: &CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self>419     fn try_from(value: &CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self> {
420         ::windows::runtime::Interface::cast(value)
421     }
422 }
423 #[cfg(feature = "Foundation_Collections")]
424 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource>> for CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource>>425     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource>> {
426         ::windows::runtime::IntoParam::into_param(&self)
427     }
428 }
429 #[cfg(feature = "Foundation_Collections")]
430 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource>> for &CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource>>431     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource>> {
432         ::std::convert::TryInto::<super::super::super::Foundation::Collections::IIterable<ICompositionInteractionSource>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
433     }
434 }
435 #[cfg(feature = "Foundation")]
436 impl ::std::convert::TryFrom<CompositionInteractionSourceCollection> for super::super::super::Foundation::IClosable {
437     type Error = ::windows::runtime::Error;
try_from(value: CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self>438     fn try_from(value: CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self> {
439         ::std::convert::TryFrom::try_from(&value)
440     }
441 }
442 #[cfg(feature = "Foundation")]
443 impl ::std::convert::TryFrom<&CompositionInteractionSourceCollection> for super::super::super::Foundation::IClosable {
444     type Error = ::windows::runtime::Error;
try_from(value: &CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self>445     fn try_from(value: &CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self> {
446         ::windows::runtime::Interface::cast(value)
447     }
448 }
449 #[cfg(feature = "Foundation")]
450 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>451     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
452         ::windows::runtime::IntoParam::into_param(&self)
453     }
454 }
455 #[cfg(feature = "Foundation")]
456 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>457     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
458         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
459     }
460 }
461 impl ::std::convert::TryFrom<CompositionInteractionSourceCollection> for super::IAnimationObject {
462     type Error = ::windows::runtime::Error;
try_from(value: CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self>463     fn try_from(value: CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self> {
464         ::std::convert::TryFrom::try_from(&value)
465     }
466 }
467 impl ::std::convert::TryFrom<&CompositionInteractionSourceCollection> for super::IAnimationObject {
468     type Error = ::windows::runtime::Error;
try_from(value: &CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self>469     fn try_from(value: &CompositionInteractionSourceCollection) -> ::windows::runtime::Result<Self> {
470         ::windows::runtime::Interface::cast(value)
471     }
472 }
473 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>474     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
475         ::windows::runtime::IntoParam::into_param(&self)
476     }
477 }
478 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>479     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
480         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
481     }
482 }
483 impl ::std::convert::From<CompositionInteractionSourceCollection> for super::CompositionObject {
from(value: CompositionInteractionSourceCollection) -> Self484     fn from(value: CompositionInteractionSourceCollection) -> Self {
485         ::std::convert::Into::<super::CompositionObject>::into(&value)
486     }
487 }
488 impl ::std::convert::From<&CompositionInteractionSourceCollection> for super::CompositionObject {
from(value: &CompositionInteractionSourceCollection) -> Self489     fn from(value: &CompositionInteractionSourceCollection) -> Self {
490         ::windows::runtime::Interface::cast(value).unwrap()
491     }
492 }
493 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>494     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
495         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
496     }
497 }
498 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &CompositionInteractionSourceCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>499     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
500         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
501     }
502 }
503 unsafe impl ::std::marker::Send for CompositionInteractionSourceCollection {}
504 unsafe impl ::std::marker::Sync for CompositionInteractionSourceCollection {}
505 #[cfg(all(feature = "Foundation_Collections"))]
506 impl ::std::iter::IntoIterator for CompositionInteractionSourceCollection {
507     type Item = ICompositionInteractionSource;
508     type IntoIter = super::super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter509     fn into_iter(self) -> Self::IntoIter {
510         ::std::iter::IntoIterator::into_iter(&self)
511     }
512 }
513 #[cfg(all(feature = "Foundation_Collections"))]
514 impl ::std::iter::IntoIterator for &CompositionInteractionSourceCollection {
515     type Item = ICompositionInteractionSource;
516     type IntoIter = super::super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter517     fn into_iter(self) -> Self::IntoIter {
518         self.First().unwrap()
519     }
520 }
521 #[repr(transparent)]
522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
523 #[doc(hidden)]
524 pub struct ICompositionConditionalValue(::windows::runtime::IInspectable);
525 unsafe impl ::windows::runtime::Interface for ICompositionConditionalValue {
526     type Vtable = ICompositionConditionalValue_abi;
527     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1126499640, 60275, 17761, [167, 29, 26, 67, 234, 235, 122, 155]);
528 }
529 #[repr(C)]
530 #[doc(hidden)]
531 pub struct ICompositionConditionalValue_abi(
532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
542 );
543 #[repr(transparent)]
544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
545 #[doc(hidden)]
546 pub struct ICompositionConditionalValueStatics(::windows::runtime::IInspectable);
547 unsafe impl ::windows::runtime::Interface for ICompositionConditionalValueStatics {
548     type Vtable = ICompositionConditionalValueStatics_abi;
549     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(151800690, 33895, 19722, [144, 101, 172, 70, 184, 10, 85, 34]);
550 }
551 #[repr(C)]
552 #[doc(hidden)]
553 pub struct ICompositionConditionalValueStatics_abi(
554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
561 );
562 #[repr(transparent)]
563 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
564 pub struct ICompositionInteractionSource(::windows::runtime::IInspectable);
565 unsafe impl ::windows::runtime::Interface for ICompositionInteractionSource {
566     type Vtable = ICompositionInteractionSource_abi;
567     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(70984753, 1763, 18778, [186, 84, 64, 159, 0, 23, 250, 192]);
568 }
569 impl ICompositionInteractionSource {}
570 unsafe impl ::windows::runtime::RuntimeType for ICompositionInteractionSource {
571     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{043b2431-06e3-495a-ba54-409f0017fac0}");
572 }
573 impl ::std::convert::From<ICompositionInteractionSource> for ::windows::runtime::IUnknown {
from(value: ICompositionInteractionSource) -> Self574     fn from(value: ICompositionInteractionSource) -> Self {
575         unsafe { ::std::mem::transmute(value) }
576     }
577 }
578 impl ::std::convert::From<&ICompositionInteractionSource> for ::windows::runtime::IUnknown {
from(value: &ICompositionInteractionSource) -> Self579     fn from(value: &ICompositionInteractionSource) -> Self {
580         ::std::convert::From::from(::std::clone::Clone::clone(value))
581     }
582 }
583 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICompositionInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>584     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
585         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
586     }
587 }
588 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICompositionInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>589     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
590         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
591     }
592 }
593 impl ::std::convert::From<ICompositionInteractionSource> for ::windows::runtime::IInspectable {
from(value: ICompositionInteractionSource) -> Self594     fn from(value: ICompositionInteractionSource) -> Self {
595         value.0
596     }
597 }
598 impl ::std::convert::From<&ICompositionInteractionSource> for ::windows::runtime::IInspectable {
from(value: &ICompositionInteractionSource) -> Self599     fn from(value: &ICompositionInteractionSource) -> Self {
600         value.0.clone()
601     }
602 }
603 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ICompositionInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>604     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
605         ::windows::runtime::Param::Owned(self.0)
606     }
607 }
608 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ICompositionInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>609     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
610         ::windows::runtime::Param::Borrowed(&self.0)
611     }
612 }
613 #[repr(C)]
614 #[doc(hidden)]
615 pub struct ICompositionInteractionSource_abi(
616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
622 );
623 #[repr(transparent)]
624 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
625 #[doc(hidden)]
626 pub struct ICompositionInteractionSourceCollection(::windows::runtime::IInspectable);
627 unsafe impl ::windows::runtime::Interface for ICompositionInteractionSourceCollection {
628     type Vtable = ICompositionInteractionSourceCollection_abi;
629     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(457608779, 42431, 18392, [165, 71, 56, 148, 21, 90, 21, 140]);
630 }
631 #[repr(C)]
632 #[doc(hidden)]
633 pub struct ICompositionInteractionSourceCollection_abi(
634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
644 );
645 #[repr(transparent)]
646 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
647 #[doc(hidden)]
648 pub struct IInteractionSourceConfiguration(::windows::runtime::IInspectable);
649 unsafe impl ::windows::runtime::Interface for IInteractionSourceConfiguration {
650     type Vtable = IInteractionSourceConfiguration_abi;
651     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2810398693, 43473, 19714, [152, 94, 185, 48, 205, 11, 157, 164]);
652 }
653 #[repr(C)]
654 #[doc(hidden)]
655 pub struct IInteractionSourceConfiguration_abi(
656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InteractionSourceRedirectionMode) -> ::windows::runtime::HRESULT,
663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: InteractionSourceRedirectionMode) -> ::windows::runtime::HRESULT,
664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InteractionSourceRedirectionMode) -> ::windows::runtime::HRESULT,
665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: InteractionSourceRedirectionMode) -> ::windows::runtime::HRESULT,
666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InteractionSourceRedirectionMode) -> ::windows::runtime::HRESULT,
667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: InteractionSourceRedirectionMode) -> ::windows::runtime::HRESULT,
668 );
669 #[repr(transparent)]
670 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
671 #[doc(hidden)]
672 pub struct IInteractionTracker(::windows::runtime::IInspectable);
673 unsafe impl ::windows::runtime::Interface for IInteractionTracker {
674     type Vtable = IInteractionTracker_abi;
675     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(713985201, 4096, 17430, [131, 99, 204, 39, 251, 135, 115, 8]);
676 }
677 #[repr(C)]
678 #[doc(hidden)]
679 pub struct IInteractionTracker_abi(
680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
688     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
689     #[cfg(not(feature = "Foundation_Numerics"))] usize,
690     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
691     #[cfg(not(feature = "Foundation_Numerics"))] usize,
692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
694     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
695     #[cfg(not(feature = "Foundation_Numerics"))] usize,
696     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
697     #[cfg(not(feature = "Foundation_Numerics"))] usize,
698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
700     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
701     #[cfg(not(feature = "Foundation_Numerics"))] usize,
702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
704     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
705     #[cfg(not(feature = "Foundation_Numerics"))] usize,
706     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
707     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
708     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
709     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
710     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
711     #[cfg(not(feature = "Foundation_Numerics"))] usize,
712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
713     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
714     #[cfg(not(feature = "Foundation"))] usize,
715     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
716     #[cfg(not(feature = "Foundation"))] usize,
717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adjustment: f32, positionthreshold: f32) -> ::windows::runtime::HRESULT,
719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adjustment: f32, positionthreshold: f32) -> ::windows::runtime::HRESULT,
720     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, modifiers: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
721     #[cfg(not(feature = "Foundation_Collections"))] usize,
722     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, modifiers: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
723     #[cfg(not(feature = "Foundation_Collections"))] usize,
724     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, modifiers: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
725     #[cfg(not(feature = "Foundation_Collections"))] usize,
726     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::super::Foundation::Numerics::Vector3, result__: *mut i32) -> ::windows::runtime::HRESULT,
727     #[cfg(not(feature = "Foundation_Numerics"))] usize,
728     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, amount: super::super::super::Foundation::Numerics::Vector3, result__: *mut i32) -> ::windows::runtime::HRESULT,
729     #[cfg(not(feature = "Foundation_Numerics"))] usize,
730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, animation: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
731     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocityinpixelspersecond: super::super::super::Foundation::Numerics::Vector3, result__: *mut i32) -> ::windows::runtime::HRESULT,
732     #[cfg(not(feature = "Foundation_Numerics"))] usize,
733     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32, centerpoint: super::super::super::Foundation::Numerics::Vector3, result__: *mut i32) -> ::windows::runtime::HRESULT,
734     #[cfg(not(feature = "Foundation_Numerics"))] usize,
735     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, animation: ::windows::runtime::RawPtr, centerpoint: super::super::super::Foundation::Numerics::Vector3, result__: *mut i32) -> ::windows::runtime::HRESULT,
736     #[cfg(not(feature = "Foundation_Numerics"))] usize,
737     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocityinpercentpersecond: f32, centerpoint: super::super::super::Foundation::Numerics::Vector3, result__: *mut i32) -> ::windows::runtime::HRESULT,
738     #[cfg(not(feature = "Foundation_Numerics"))] usize,
739 );
740 #[repr(transparent)]
741 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
742 #[doc(hidden)]
743 pub struct IInteractionTracker2(::windows::runtime::IInspectable);
744 unsafe impl ::windows::runtime::Interface for IInteractionTracker2 {
745     type Vtable = IInteractionTracker2_abi;
746     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(628529726, 52845, 17548, [131, 134, 146, 98, 13, 36, 7, 86]);
747 }
748 #[repr(C)]
749 #[doc(hidden)]
750 pub struct IInteractionTracker2_abi(
751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
757     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditionalvalues: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
758     #[cfg(not(feature = "Foundation_Collections"))] usize,
759     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditionalvalues: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
760     #[cfg(not(feature = "Foundation_Collections"))] usize,
761 );
762 #[repr(transparent)]
763 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
764 #[doc(hidden)]
765 pub struct IInteractionTracker3(::windows::runtime::IInspectable);
766 unsafe impl ::windows::runtime::Interface for IInteractionTracker3 {
767     type Vtable = IInteractionTracker3_abi;
768     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3871725474, 23627, 17094, [132, 183, 246, 148, 65, 177, 128, 145]);
769 }
770 #[repr(C)]
771 #[doc(hidden)]
772 pub struct IInteractionTracker3_abi(
773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
779     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, modifiers: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
780     #[cfg(not(feature = "Foundation_Collections"))] usize,
781 );
782 #[repr(transparent)]
783 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
784 #[doc(hidden)]
785 pub struct IInteractionTracker4(::windows::runtime::IInspectable);
786 unsafe impl ::windows::runtime::Interface for IInteractionTracker4 {
787     type Vtable = IInteractionTracker4_abi;
788     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3956417212, 1199, 19143, [132, 125, 6, 234, 54, 232, 10, 22]);
789 }
790 #[repr(C)]
791 #[doc(hidden)]
792 pub struct IInteractionTracker4_abi(
793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
799     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::super::Foundation::Numerics::Vector3, option: InteractionTrackerClampingOption, result__: *mut i32) -> ::windows::runtime::HRESULT,
800     #[cfg(not(feature = "Foundation_Numerics"))] usize,
801     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, amount: super::super::super::Foundation::Numerics::Vector3, option: InteractionTrackerClampingOption, result__: *mut i32) -> ::windows::runtime::HRESULT,
802     #[cfg(not(feature = "Foundation_Numerics"))] usize,
803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
804 );
805 #[repr(transparent)]
806 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
807 #[doc(hidden)]
808 pub struct IInteractionTracker5(::windows::runtime::IInspectable);
809 unsafe impl ::windows::runtime::Interface for IInteractionTracker5 {
810     type Vtable = IInteractionTracker5_abi;
811     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3555679650, 41556, 16612, [136, 213, 68, 228, 225, 107, 88, 9]);
812 }
813 #[repr(C)]
814 #[doc(hidden)]
815 pub struct IInteractionTracker5_abi(
816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
822     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::super::Foundation::Numerics::Vector3, option: InteractionTrackerClampingOption, posupdateoption: InteractionTrackerPositionUpdateOption, result__: *mut i32) -> ::windows::runtime::HRESULT,
823     #[cfg(not(feature = "Foundation_Numerics"))] usize,
824 );
825 #[repr(transparent)]
826 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
827 #[doc(hidden)]
828 pub struct IInteractionTrackerCustomAnimationStateEnteredArgs(::windows::runtime::IInspectable);
829 unsafe impl ::windows::runtime::Interface for IInteractionTrackerCustomAnimationStateEnteredArgs {
830     type Vtable = IInteractionTrackerCustomAnimationStateEnteredArgs_abi;
831     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2367458545, 55216, 17228, [165, 210, 45, 118, 17, 134, 72, 52]);
832 }
833 #[repr(C)]
834 #[doc(hidden)]
835 pub struct IInteractionTrackerCustomAnimationStateEnteredArgs_abi(
836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
843 );
844 #[repr(transparent)]
845 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
846 #[doc(hidden)]
847 pub struct IInteractionTrackerCustomAnimationStateEnteredArgs2(::windows::runtime::IInspectable);
848 unsafe impl ::windows::runtime::Interface for IInteractionTrackerCustomAnimationStateEnteredArgs2 {
849     type Vtable = IInteractionTrackerCustomAnimationStateEnteredArgs2_abi;
850     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1205172663, 2437, 24217, [176, 36, 47, 50, 195, 128, 193, 164]);
851 }
852 #[repr(C)]
853 #[doc(hidden)]
854 pub struct IInteractionTrackerCustomAnimationStateEnteredArgs2_abi(
855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
862 );
863 #[repr(transparent)]
864 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
865 #[doc(hidden)]
866 pub struct IInteractionTrackerIdleStateEnteredArgs(::windows::runtime::IInspectable);
867 unsafe impl ::windows::runtime::Interface for IInteractionTrackerIdleStateEnteredArgs {
868     type Vtable = IInteractionTrackerIdleStateEnteredArgs_abi;
869     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1342255018, 5392, 16706, [161, 165, 1, 155, 9, 248, 133, 123]);
870 }
871 #[repr(C)]
872 #[doc(hidden)]
873 pub struct IInteractionTrackerIdleStateEnteredArgs_abi(
874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
881 );
882 #[repr(transparent)]
883 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
884 #[doc(hidden)]
885 pub struct IInteractionTrackerIdleStateEnteredArgs2(::windows::runtime::IInspectable);
886 unsafe impl ::windows::runtime::Interface for IInteractionTrackerIdleStateEnteredArgs2 {
887     type Vtable = IInteractionTrackerIdleStateEnteredArgs2_abi;
888     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4075254253, 47107, 20791, [148, 53, 28, 150, 228, 135, 33, 233]);
889 }
890 #[repr(C)]
891 #[doc(hidden)]
892 pub struct IInteractionTrackerIdleStateEnteredArgs2_abi(
893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
900 );
901 #[repr(transparent)]
902 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
903 #[doc(hidden)]
904 pub struct IInteractionTrackerInertiaModifier(::windows::runtime::IInspectable);
905 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaModifier {
906     type Vtable = IInteractionTrackerInertiaModifier_abi;
907     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2699217184, 9908, 19874, [139, 97, 94, 104, 57, 121, 187, 226]);
908 }
909 #[repr(C)]
910 #[doc(hidden)]
911 pub struct IInteractionTrackerInertiaModifier_abi(
912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
918 );
919 #[repr(transparent)]
920 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
921 #[doc(hidden)]
922 pub struct IInteractionTrackerInertiaModifierFactory(::windows::runtime::IInspectable);
923 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaModifierFactory {
924     type Vtable = IInteractionTrackerInertiaModifierFactory_abi;
925     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2570590462, 51534, 19334, [135, 243, 146, 38, 101, 186, 70, 185]);
926 }
927 #[repr(C)]
928 #[doc(hidden)]
929 pub struct IInteractionTrackerInertiaModifierFactory_abi(
930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
936 );
937 #[repr(transparent)]
938 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
939 #[doc(hidden)]
940 pub struct IInteractionTrackerInertiaMotion(::windows::runtime::IInspectable);
941 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaMotion {
942     type Vtable = IInteractionTrackerInertiaMotion_abi;
943     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(76689372, 61780, 19640, [191, 51, 204, 27, 166, 17, 230, 219]);
944 }
945 #[repr(C)]
946 #[doc(hidden)]
947 pub struct IInteractionTrackerInertiaMotion_abi(
948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
958 );
959 #[repr(transparent)]
960 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
961 #[doc(hidden)]
962 pub struct IInteractionTrackerInertiaMotionStatics(::windows::runtime::IInspectable);
963 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaMotionStatics {
964     type Vtable = IInteractionTrackerInertiaMotionStatics_abi;
965     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2361933270, 47739, 17178, [132, 75, 110, 172, 145, 48, 249, 154]);
966 }
967 #[repr(C)]
968 #[doc(hidden)]
969 pub struct IInteractionTrackerInertiaMotionStatics_abi(
970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
977 );
978 #[repr(transparent)]
979 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
980 #[doc(hidden)]
981 pub struct IInteractionTrackerInertiaNaturalMotion(::windows::runtime::IInspectable);
982 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaNaturalMotion {
983     type Vtable = IInteractionTrackerInertiaNaturalMotion_abi;
984     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1890376366, 10204, 18669, [163, 195, 109, 97, 201, 160, 41, 210]);
985 }
986 #[repr(C)]
987 #[doc(hidden)]
988 pub struct IInteractionTrackerInertiaNaturalMotion_abi(
989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
999 );
1000 #[repr(transparent)]
1001 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1002 #[doc(hidden)]
1003 pub struct IInteractionTrackerInertiaNaturalMotionStatics(::windows::runtime::IInspectable);
1004 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaNaturalMotionStatics {
1005     type Vtable = IInteractionTrackerInertiaNaturalMotionStatics_abi;
1006     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3487192496, 24126, 17033, [147, 45, 238, 95, 80, 231, 66, 131]);
1007 }
1008 #[repr(C)]
1009 #[doc(hidden)]
1010 pub struct IInteractionTrackerInertiaNaturalMotionStatics_abi(
1011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1013     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1014     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1018 );
1019 #[repr(transparent)]
1020 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1021 #[doc(hidden)]
1022 pub struct IInteractionTrackerInertiaRestingValue(::windows::runtime::IInspectable);
1023 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaRestingValue {
1024     type Vtable = IInteractionTrackerInertiaRestingValue_abi;
1025     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2264394761, 20630, 16752, [156, 200, 223, 47, 225, 1, 187, 147]);
1026 }
1027 #[repr(C)]
1028 #[doc(hidden)]
1029 pub struct IInteractionTrackerInertiaRestingValue_abi(
1030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1040 );
1041 #[repr(transparent)]
1042 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1043 #[doc(hidden)]
1044 pub struct IInteractionTrackerInertiaRestingValueStatics(::windows::runtime::IInspectable);
1045 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaRestingValueStatics {
1046     type Vtable = IInteractionTrackerInertiaRestingValueStatics_abi;
1047     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(418203289, 1861, 16534, [188, 171, 58, 78, 153, 86, 155, 207]);
1048 }
1049 #[repr(C)]
1050 #[doc(hidden)]
1051 pub struct IInteractionTrackerInertiaRestingValueStatics_abi(
1052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1054     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1059 );
1060 #[repr(transparent)]
1061 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1062 #[doc(hidden)]
1063 pub struct IInteractionTrackerInertiaStateEnteredArgs(::windows::runtime::IInspectable);
1064 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaStateEnteredArgs {
1065     type Vtable = IInteractionTrackerInertiaStateEnteredArgs_abi;
1066     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2266008818, 59391, 20349, [159, 253, 215, 47, 30, 64, 155, 99]);
1067 }
1068 #[repr(C)]
1069 #[doc(hidden)]
1070 pub struct IInteractionTrackerInertiaStateEnteredArgs_abi(
1071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1077     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1078     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
1079     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1080     #[cfg(not(feature = "Foundation"))] usize,
1081     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
1082     #[cfg(not(feature = "Foundation_Numerics"))] usize,
1083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1084     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
1085     #[cfg(not(feature = "Foundation_Numerics"))] usize,
1086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1088 );
1089 #[repr(transparent)]
1090 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1091 #[doc(hidden)]
1092 pub struct IInteractionTrackerInertiaStateEnteredArgs2(::windows::runtime::IInspectable);
1093 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaStateEnteredArgs2 {
1094     type Vtable = IInteractionTrackerInertiaStateEnteredArgs2_abi;
1095     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2984981238, 49772, 16886, [161, 137, 250, 188, 34, 179, 35, 204]);
1096 }
1097 #[repr(C)]
1098 #[doc(hidden)]
1099 pub struct IInteractionTrackerInertiaStateEnteredArgs2_abi(
1100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1107 );
1108 #[repr(transparent)]
1109 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1110 #[doc(hidden)]
1111 pub struct IInteractionTrackerInertiaStateEnteredArgs3(::windows::runtime::IInspectable);
1112 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInertiaStateEnteredArgs3 {
1113     type Vtable = IInteractionTrackerInertiaStateEnteredArgs3_abi;
1114     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1219238959, 18365, 22959, [165, 140, 121, 189, 46, 185, 239, 113]);
1115 }
1116 #[repr(C)]
1117 #[doc(hidden)]
1118 pub struct IInteractionTrackerInertiaStateEnteredArgs3_abi(
1119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1126 );
1127 #[repr(transparent)]
1128 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1129 #[doc(hidden)]
1130 pub struct IInteractionTrackerInteractingStateEnteredArgs(::windows::runtime::IInspectable);
1131 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInteractingStateEnteredArgs {
1132     type Vtable = IInteractionTrackerInteractingStateEnteredArgs_abi;
1133     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2804300089, 41339, 16401, [153, 253, 181, 194, 79, 20, 55, 72]);
1134 }
1135 #[repr(C)]
1136 #[doc(hidden)]
1137 pub struct IInteractionTrackerInteractingStateEnteredArgs_abi(
1138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1145 );
1146 #[repr(transparent)]
1147 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1148 #[doc(hidden)]
1149 pub struct IInteractionTrackerInteractingStateEnteredArgs2(::windows::runtime::IInspectable);
1150 unsafe impl ::windows::runtime::Interface for IInteractionTrackerInteractingStateEnteredArgs2 {
1151     type Vtable = IInteractionTrackerInteractingStateEnteredArgs2_abi;
1152     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1352028886, 54408, 22989, [129, 159, 245, 35, 16, 41, 91, 17]);
1153 }
1154 #[repr(C)]
1155 #[doc(hidden)]
1156 pub struct IInteractionTrackerInteractingStateEnteredArgs2_abi(
1157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1164 );
1165 #[repr(transparent)]
1166 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1167 pub struct IInteractionTrackerOwner(::windows::runtime::IInspectable);
1168 unsafe impl ::windows::runtime::Interface for IInteractionTrackerOwner {
1169     type Vtable = IInteractionTrackerOwner_abi;
1170     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3677260531, 19947, 20051, [178, 156, 176, 108, 159, 150, 214, 81]);
1171 }
1172 impl IInteractionTrackerOwner {
CustomAnimationStateEntered<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerCustomAnimationStateEnteredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()>1173     pub fn CustomAnimationStateEntered<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerCustomAnimationStateEnteredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()> {
1174         let this = self;
1175         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), sender.into_param().abi(), args.into_param().abi()).ok() }
1176     }
IdleStateEntered<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerIdleStateEnteredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()>1177     pub fn IdleStateEntered<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerIdleStateEnteredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()> {
1178         let this = self;
1179         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), sender.into_param().abi(), args.into_param().abi()).ok() }
1180     }
InertiaStateEntered<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerInertiaStateEnteredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()>1181     pub fn InertiaStateEntered<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerInertiaStateEnteredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()> {
1182         let this = self;
1183         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), sender.into_param().abi(), args.into_param().abi()).ok() }
1184     }
InteractingStateEntered<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerInteractingStateEnteredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()>1185     pub fn InteractingStateEntered<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerInteractingStateEnteredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()> {
1186         let this = self;
1187         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), sender.into_param().abi(), args.into_param().abi()).ok() }
1188     }
RequestIgnored<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerRequestIgnoredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()>1189     pub fn RequestIgnored<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerRequestIgnoredArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()> {
1190         let this = self;
1191         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), sender.into_param().abi(), args.into_param().abi()).ok() }
1192     }
ValuesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerValuesChangedArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()>1193     pub fn ValuesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTrackerValuesChangedArgs>>(&self, sender: Param0, args: Param1) -> ::windows::runtime::Result<()> {
1194         let this = self;
1195         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), sender.into_param().abi(), args.into_param().abi()).ok() }
1196     }
1197 }
1198 unsafe impl ::windows::runtime::RuntimeType for IInteractionTrackerOwner {
1199     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{db2e8af3-4deb-4e53-b29c-b06c9f96d651}");
1200 }
1201 impl ::std::convert::From<IInteractionTrackerOwner> for ::windows::runtime::IUnknown {
from(value: IInteractionTrackerOwner) -> Self1202     fn from(value: IInteractionTrackerOwner) -> Self {
1203         unsafe { ::std::mem::transmute(value) }
1204     }
1205 }
1206 impl ::std::convert::From<&IInteractionTrackerOwner> for ::windows::runtime::IUnknown {
from(value: &IInteractionTrackerOwner) -> Self1207     fn from(value: &IInteractionTrackerOwner) -> Self {
1208         ::std::convert::From::from(::std::clone::Clone::clone(value))
1209     }
1210 }
1211 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IInteractionTrackerOwner {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1212     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1213         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1214     }
1215 }
1216 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IInteractionTrackerOwner {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1217     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1218         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1219     }
1220 }
1221 impl ::std::convert::From<IInteractionTrackerOwner> for ::windows::runtime::IInspectable {
from(value: IInteractionTrackerOwner) -> Self1222     fn from(value: IInteractionTrackerOwner) -> Self {
1223         value.0
1224     }
1225 }
1226 impl ::std::convert::From<&IInteractionTrackerOwner> for ::windows::runtime::IInspectable {
from(value: &IInteractionTrackerOwner) -> Self1227     fn from(value: &IInteractionTrackerOwner) -> Self {
1228         value.0.clone()
1229     }
1230 }
1231 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IInteractionTrackerOwner {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1232     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1233         ::windows::runtime::Param::Owned(self.0)
1234     }
1235 }
1236 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IInteractionTrackerOwner {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1237     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1238         ::windows::runtime::Param::Borrowed(&self.0)
1239     }
1240 }
1241 #[repr(C)]
1242 #[doc(hidden)]
1243 pub struct IInteractionTrackerOwner_abi(
1244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, args: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, args: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, args: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, args: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, args: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sender: ::windows::runtime::RawPtr, args: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1256 );
1257 #[repr(transparent)]
1258 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1259 #[doc(hidden)]
1260 pub struct IInteractionTrackerRequestIgnoredArgs(::windows::runtime::IInspectable);
1261 unsafe impl ::windows::runtime::Interface for IInteractionTrackerRequestIgnoredArgs {
1262     type Vtable = IInteractionTrackerRequestIgnoredArgs_abi;
1263     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2162000625, 52773, 18575, [145, 221, 203, 100, 85, 204, 255, 46]);
1264 }
1265 #[repr(C)]
1266 #[doc(hidden)]
1267 pub struct IInteractionTrackerRequestIgnoredArgs_abi(
1268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1275 );
1276 #[repr(transparent)]
1277 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1278 #[doc(hidden)]
1279 pub struct IInteractionTrackerStatics(::windows::runtime::IInspectable);
1280 unsafe impl ::windows::runtime::Interface for IInteractionTrackerStatics {
1281     type Vtable = IInteractionTrackerStatics_abi;
1282     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3148208055, 26000, 17560, [141, 108, 235, 98, 181, 20, 201, 42]);
1283 }
1284 #[repr(C)]
1285 #[doc(hidden)]
1286 pub struct IInteractionTrackerStatics_abi(
1287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1295 );
1296 #[repr(transparent)]
1297 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1298 #[doc(hidden)]
1299 pub struct IInteractionTrackerStatics2(::windows::runtime::IInspectable);
1300 unsafe impl ::windows::runtime::Interface for IInteractionTrackerStatics2 {
1301     type Vtable = IInteractionTrackerStatics2_abi;
1302     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(904214304, 18103, 23728, [181, 5, 243, 214, 136, 74, 97, 99]);
1303 }
1304 #[repr(C)]
1305 #[doc(hidden)]
1306 pub struct IInteractionTrackerStatics2_abi(
1307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boundtracker1: ::windows::runtime::RawPtr, boundtracker2: ::windows::runtime::RawPtr, axismode: InteractionBindingAxisModes) -> ::windows::runtime::HRESULT,
1314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, boundtracker1: ::windows::runtime::RawPtr, boundtracker2: ::windows::runtime::RawPtr, result__: *mut InteractionBindingAxisModes) -> ::windows::runtime::HRESULT,
1315 );
1316 #[repr(transparent)]
1317 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1318 #[doc(hidden)]
1319 pub struct IInteractionTrackerValuesChangedArgs(::windows::runtime::IInspectable);
1320 unsafe impl ::windows::runtime::Interface for IInteractionTrackerValuesChangedArgs {
1321     type Vtable = IInteractionTrackerValuesChangedArgs_abi;
1322     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3474290927, 54239, 17665, [185, 230, 240, 47, 178, 47, 115, 208]);
1323 }
1324 #[repr(C)]
1325 #[doc(hidden)]
1326 pub struct IInteractionTrackerValuesChangedArgs_abi(
1327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1333     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
1334     #[cfg(not(feature = "Foundation_Numerics"))] usize,
1335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1337 );
1338 #[repr(transparent)]
1339 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1340 #[doc(hidden)]
1341 pub struct IInteractionTrackerVector2InertiaModifier(::windows::runtime::IInspectable);
1342 unsafe impl ::windows::runtime::Interface for IInteractionTrackerVector2InertiaModifier {
1343     type Vtable = IInteractionTrackerVector2InertiaModifier_abi;
1344     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2279639728, 12422, 18515, [164, 183, 119, 136, 42, 213, 215, 227]);
1345 }
1346 #[repr(C)]
1347 #[doc(hidden)]
1348 pub struct IInteractionTrackerVector2InertiaModifier_abi(
1349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1355 );
1356 #[repr(transparent)]
1357 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1358 #[doc(hidden)]
1359 pub struct IInteractionTrackerVector2InertiaModifierFactory(::windows::runtime::IInspectable);
1360 unsafe impl ::windows::runtime::Interface for IInteractionTrackerVector2InertiaModifierFactory {
1361     type Vtable = IInteractionTrackerVector2InertiaModifierFactory_abi;
1362     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1946277572, 27757, 18655, [188, 62, 23, 30, 34, 126, 125, 127]);
1363 }
1364 #[repr(C)]
1365 #[doc(hidden)]
1366 pub struct IInteractionTrackerVector2InertiaModifierFactory_abi(
1367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1373 );
1374 #[repr(transparent)]
1375 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1376 #[doc(hidden)]
1377 pub struct IInteractionTrackerVector2InertiaNaturalMotion(::windows::runtime::IInspectable);
1378 unsafe impl ::windows::runtime::Interface for IInteractionTrackerVector2InertiaNaturalMotion {
1379     type Vtable = IInteractionTrackerVector2InertiaNaturalMotion_abi;
1380     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1595369820, 5677, 19463, [148, 0, 194, 130, 178, 130, 118, 202]);
1381 }
1382 #[repr(C)]
1383 #[doc(hidden)]
1384 pub struct IInteractionTrackerVector2InertiaNaturalMotion_abi(
1385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1395 );
1396 #[repr(transparent)]
1397 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1398 #[doc(hidden)]
1399 pub struct IInteractionTrackerVector2InertiaNaturalMotionStatics(::windows::runtime::IInspectable);
1400 unsafe impl ::windows::runtime::Interface for IInteractionTrackerVector2InertiaNaturalMotionStatics {
1401     type Vtable = IInteractionTrackerVector2InertiaNaturalMotionStatics_abi;
1402     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2181044808, 2496, 17231, [129, 137, 20, 28, 102, 223, 54, 47]);
1403 }
1404 #[repr(C)]
1405 #[doc(hidden)]
1406 pub struct IInteractionTrackerVector2InertiaNaturalMotionStatics_abi(
1407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1414 );
1415 #[repr(transparent)]
1416 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1417 #[doc(hidden)]
1418 pub struct IVisualInteractionSource(::windows::runtime::IInspectable);
1419 unsafe impl ::windows::runtime::Interface for IVisualInteractionSource {
1420     type Vtable = IVisualInteractionSource_abi;
1421     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3389950598, 55510, 16657, [176, 136, 112, 52, 123, 210, 176, 237]);
1422 }
1423 #[repr(C)]
1424 #[doc(hidden)]
1425 pub struct IVisualInteractionSource_abi(
1426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut VisualInteractionSourceRedirectionMode) -> ::windows::runtime::HRESULT,
1437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: VisualInteractionSourceRedirectionMode) -> ::windows::runtime::HRESULT,
1438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InteractionChainingMode) -> ::windows::runtime::HRESULT,
1439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: InteractionChainingMode) -> ::windows::runtime::HRESULT,
1440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InteractionSourceMode) -> ::windows::runtime::HRESULT,
1441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: InteractionSourceMode) -> ::windows::runtime::HRESULT,
1442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InteractionChainingMode) -> ::windows::runtime::HRESULT,
1443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: InteractionChainingMode) -> ::windows::runtime::HRESULT,
1444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InteractionSourceMode) -> ::windows::runtime::HRESULT,
1445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: InteractionSourceMode) -> ::windows::runtime::HRESULT,
1446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InteractionChainingMode) -> ::windows::runtime::HRESULT,
1447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: InteractionChainingMode) -> ::windows::runtime::HRESULT,
1448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InteractionSourceMode) -> ::windows::runtime::HRESULT,
1449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: InteractionSourceMode) -> ::windows::runtime::HRESULT,
1450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1451     #[cfg(feature = "UI_Input")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pointerpoint: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1452     #[cfg(not(feature = "UI_Input"))] usize,
1453 );
1454 #[repr(transparent)]
1455 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1456 #[doc(hidden)]
1457 pub struct IVisualInteractionSource2(::windows::runtime::IInspectable);
1458 unsafe impl ::windows::runtime::Interface for IVisualInteractionSource2 {
1459     type Vtable = IVisualInteractionSource2_abi;
1460     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2861648019, 42812, 16717, [128, 208, 36, 155, 173, 47, 189, 147]);
1461 }
1462 #[repr(C)]
1463 #[doc(hidden)]
1464 pub struct IVisualInteractionSource2_abi(
1465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1471     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
1472     #[cfg(not(feature = "Foundation_Numerics"))] usize,
1473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1474     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
1475     #[cfg(not(feature = "Foundation_Numerics"))] usize,
1476     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
1477     #[cfg(not(feature = "Foundation_Numerics"))] usize,
1478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1480     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditionalvalues: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1481     #[cfg(not(feature = "Foundation_Collections"))] usize,
1482     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditionalvalues: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1483     #[cfg(not(feature = "Foundation_Collections"))] usize,
1484     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditionalvalues: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1485     #[cfg(not(feature = "Foundation_Collections"))] usize,
1486     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditionalvalues: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1487     #[cfg(not(feature = "Foundation_Collections"))] usize,
1488     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, conditionalvalues: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1489     #[cfg(not(feature = "Foundation_Collections"))] usize,
1490 );
1491 #[repr(transparent)]
1492 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1493 #[doc(hidden)]
1494 pub struct IVisualInteractionSource3(::windows::runtime::IInspectable);
1495 unsafe impl ::windows::runtime::Interface for IVisualInteractionSource3 {
1496     type Vtable = IVisualInteractionSource3_abi;
1497     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3644976938, 3420, 16471, [146, 215, 201, 113, 21, 51, 32, 79]);
1498 }
1499 #[repr(C)]
1500 #[doc(hidden)]
1501 pub struct IVisualInteractionSource3_abi(
1502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1509 );
1510 #[repr(transparent)]
1511 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1512 #[doc(hidden)]
1513 pub struct IVisualInteractionSourceObjectFactory(::windows::runtime::IInspectable);
1514 unsafe impl ::windows::runtime::Interface for IVisualInteractionSourceObjectFactory {
1515     type Vtable = IVisualInteractionSourceObjectFactory_abi;
1516     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2999619964, 59786, 16882, [179, 201, 137, 28, 146, 102, 200, 246]);
1517 }
1518 #[repr(C)]
1519 #[doc(hidden)]
1520 pub struct IVisualInteractionSourceObjectFactory_abi(
1521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1527 );
1528 #[repr(transparent)]
1529 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1530 #[doc(hidden)]
1531 pub struct IVisualInteractionSourceStatics(::windows::runtime::IInspectable);
1532 unsafe impl ::windows::runtime::Interface for IVisualInteractionSourceStatics {
1533     type Vtable = IVisualInteractionSourceStatics_abi;
1534     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(916022753, 34373, 20341, [186, 0, 100, 121, 205, 16, 200, 230]);
1535 }
1536 #[repr(C)]
1537 #[doc(hidden)]
1538 pub struct IVisualInteractionSourceStatics_abi(
1539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1546 );
1547 #[repr(transparent)]
1548 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1549 #[doc(hidden)]
1550 pub struct IVisualInteractionSourceStatics2(::windows::runtime::IInspectable);
1551 unsafe impl ::windows::runtime::Interface for IVisualInteractionSourceStatics2 {
1552     type Vtable = IVisualInteractionSourceStatics2_abi;
1553     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2843328562, 22372, 21984, [188, 31, 7, 120, 120, 109, 207, 222]);
1554 }
1555 #[repr(C)]
1556 #[doc(hidden)]
1557 pub struct IVisualInteractionSourceStatics2_abi(
1558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1565 );
1566 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1567 #[repr(transparent)]
1568 pub struct InteractionBindingAxisModes(pub u32);
1569 impl InteractionBindingAxisModes {
1570     pub const None: InteractionBindingAxisModes = InteractionBindingAxisModes(0u32);
1571     pub const PositionX: InteractionBindingAxisModes = InteractionBindingAxisModes(1u32);
1572     pub const PositionY: InteractionBindingAxisModes = InteractionBindingAxisModes(2u32);
1573     pub const Scale: InteractionBindingAxisModes = InteractionBindingAxisModes(4u32);
1574 }
1575 impl ::std::convert::From<u32> for InteractionBindingAxisModes {
from(value: u32) -> Self1576     fn from(value: u32) -> Self {
1577         Self(value)
1578     }
1579 }
1580 unsafe impl ::windows::runtime::Abi for InteractionBindingAxisModes {
1581     type Abi = Self;
1582     type DefaultType = Self;
1583 }
1584 unsafe impl ::windows::runtime::RuntimeType for InteractionBindingAxisModes {
1585     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.Interactions.InteractionBindingAxisModes;u4)");
1586 }
1587 impl ::std::ops::BitOr for InteractionBindingAxisModes {
1588     type Output = Self;
bitor(self, rhs: Self) -> Self1589     fn bitor(self, rhs: Self) -> Self {
1590         Self(self.0 | rhs.0)
1591     }
1592 }
1593 impl ::std::ops::BitAnd for InteractionBindingAxisModes {
1594     type Output = Self;
bitand(self, rhs: Self) -> Self1595     fn bitand(self, rhs: Self) -> Self {
1596         Self(self.0 & rhs.0)
1597     }
1598 }
1599 impl ::std::ops::BitOrAssign for InteractionBindingAxisModes {
bitor_assign(&mut self, rhs: Self)1600     fn bitor_assign(&mut self, rhs: Self) {
1601         self.0.bitor_assign(rhs.0)
1602     }
1603 }
1604 impl ::std::ops::BitAndAssign for InteractionBindingAxisModes {
bitand_assign(&mut self, rhs: Self)1605     fn bitand_assign(&mut self, rhs: Self) {
1606         self.0.bitand_assign(rhs.0)
1607     }
1608 }
1609 impl ::std::ops::Not for InteractionBindingAxisModes {
1610     type Output = Self;
not(self) -> Self1611     fn not(self) -> Self {
1612         Self(self.0.not())
1613     }
1614 }
1615 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1616 #[repr(transparent)]
1617 pub struct InteractionChainingMode(pub i32);
1618 impl InteractionChainingMode {
1619     pub const Auto: InteractionChainingMode = InteractionChainingMode(0i32);
1620     pub const Always: InteractionChainingMode = InteractionChainingMode(1i32);
1621     pub const Never: InteractionChainingMode = InteractionChainingMode(2i32);
1622 }
1623 impl ::std::convert::From<i32> for InteractionChainingMode {
from(value: i32) -> Self1624     fn from(value: i32) -> Self {
1625         Self(value)
1626     }
1627 }
1628 unsafe impl ::windows::runtime::Abi for InteractionChainingMode {
1629     type Abi = Self;
1630     type DefaultType = Self;
1631 }
1632 unsafe impl ::windows::runtime::RuntimeType for InteractionChainingMode {
1633     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.Interactions.InteractionChainingMode;i4)");
1634 }
1635 #[repr(transparent)]
1636 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1637 pub struct InteractionSourceConfiguration(::windows::runtime::IInspectable);
1638 impl InteractionSourceConfiguration {
PositionXSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceRedirectionMode>1639     pub fn PositionXSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceRedirectionMode> {
1640         let this = self;
1641         unsafe {
1642             let mut result__: InteractionSourceRedirectionMode = ::std::mem::zeroed();
1643             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionSourceRedirectionMode>(result__)
1644         }
1645     }
SetPositionXSourceMode(&self, value: InteractionSourceRedirectionMode) -> ::windows::runtime::Result<()>1646     pub fn SetPositionXSourceMode(&self, value: InteractionSourceRedirectionMode) -> ::windows::runtime::Result<()> {
1647         let this = self;
1648         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1649     }
PositionYSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceRedirectionMode>1650     pub fn PositionYSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceRedirectionMode> {
1651         let this = self;
1652         unsafe {
1653             let mut result__: InteractionSourceRedirectionMode = ::std::mem::zeroed();
1654             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionSourceRedirectionMode>(result__)
1655         }
1656     }
SetPositionYSourceMode(&self, value: InteractionSourceRedirectionMode) -> ::windows::runtime::Result<()>1657     pub fn SetPositionYSourceMode(&self, value: InteractionSourceRedirectionMode) -> ::windows::runtime::Result<()> {
1658         let this = self;
1659         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
1660     }
ScaleSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceRedirectionMode>1661     pub fn ScaleSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceRedirectionMode> {
1662         let this = self;
1663         unsafe {
1664             let mut result__: InteractionSourceRedirectionMode = ::std::mem::zeroed();
1665             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionSourceRedirectionMode>(result__)
1666         }
1667     }
SetScaleSourceMode(&self, value: InteractionSourceRedirectionMode) -> ::windows::runtime::Result<()>1668     pub fn SetScaleSourceMode(&self, value: InteractionSourceRedirectionMode) -> ::windows::runtime::Result<()> {
1669         let this = self;
1670         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
1671     }
1672     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>1673     pub fn Close(&self) -> ::windows::runtime::Result<()> {
1674         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
1675         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1676     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>1677     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
1678         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
1679         unsafe {
1680             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1681             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
1682         }
1683     }
1684     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>1685     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
1686         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
1687         unsafe {
1688             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1689             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
1690         }
1691     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>1692     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
1693         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
1694         unsafe {
1695             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1696             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
1697         }
1698     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>1699     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
1700         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
1701         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
1702     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>1703     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
1704         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
1705         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
1706     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1707     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1708         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
1709         unsafe {
1710             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1711             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1712         }
1713     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1714     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1715         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
1716         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1717     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>1718     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
1719         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
1720         unsafe {
1721             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1722             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
1723         }
1724     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>1725     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1726         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
1727         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1728     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>1729     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1730         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
1731         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1732     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>1733     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1734         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
1735         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1736     }
1737     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>1738     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
1739         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
1740         unsafe {
1741             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1742             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
1743         }
1744     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>1745     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
1746         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
1747         unsafe {
1748             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1749             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
1750         }
1751     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>1752     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
1753         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
1754         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
1755     }
1756 }
1757 unsafe impl ::windows::runtime::RuntimeType for InteractionSourceConfiguration {
1758     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionSourceConfiguration;{a78347e5-a9d1-4d02-985e-b930cd0b9da4})");
1759 }
1760 unsafe impl ::windows::runtime::Interface for InteractionSourceConfiguration {
1761     type Vtable = IInteractionSourceConfiguration_abi;
1762     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2810398693, 43473, 19714, [152, 94, 185, 48, 205, 11, 157, 164]);
1763 }
1764 impl ::windows::runtime::RuntimeName for InteractionSourceConfiguration {
1765     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionSourceConfiguration";
1766 }
1767 impl ::std::convert::From<InteractionSourceConfiguration> for ::windows::runtime::IUnknown {
from(value: InteractionSourceConfiguration) -> Self1768     fn from(value: InteractionSourceConfiguration) -> Self {
1769         unsafe { ::std::mem::transmute(value) }
1770     }
1771 }
1772 impl ::std::convert::From<&InteractionSourceConfiguration> for ::windows::runtime::IUnknown {
from(value: &InteractionSourceConfiguration) -> Self1773     fn from(value: &InteractionSourceConfiguration) -> Self {
1774         ::std::convert::From::from(::std::clone::Clone::clone(value))
1775     }
1776 }
1777 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1778     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1779         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1780     }
1781 }
1782 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1783     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1784         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1785     }
1786 }
1787 impl ::std::convert::From<InteractionSourceConfiguration> for ::windows::runtime::IInspectable {
from(value: InteractionSourceConfiguration) -> Self1788     fn from(value: InteractionSourceConfiguration) -> Self {
1789         value.0
1790     }
1791 }
1792 impl ::std::convert::From<&InteractionSourceConfiguration> for ::windows::runtime::IInspectable {
from(value: &InteractionSourceConfiguration) -> Self1793     fn from(value: &InteractionSourceConfiguration) -> Self {
1794         value.0.clone()
1795     }
1796 }
1797 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1798     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1799         ::windows::runtime::Param::Owned(self.0)
1800     }
1801 }
1802 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1803     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1804         ::windows::runtime::Param::Borrowed(&self.0)
1805     }
1806 }
1807 #[cfg(feature = "Foundation")]
1808 impl ::std::convert::TryFrom<InteractionSourceConfiguration> for super::super::super::Foundation::IClosable {
1809     type Error = ::windows::runtime::Error;
try_from(value: InteractionSourceConfiguration) -> ::windows::runtime::Result<Self>1810     fn try_from(value: InteractionSourceConfiguration) -> ::windows::runtime::Result<Self> {
1811         ::std::convert::TryFrom::try_from(&value)
1812     }
1813 }
1814 #[cfg(feature = "Foundation")]
1815 impl ::std::convert::TryFrom<&InteractionSourceConfiguration> for super::super::super::Foundation::IClosable {
1816     type Error = ::windows::runtime::Error;
try_from(value: &InteractionSourceConfiguration) -> ::windows::runtime::Result<Self>1817     fn try_from(value: &InteractionSourceConfiguration) -> ::windows::runtime::Result<Self> {
1818         ::windows::runtime::Interface::cast(value)
1819     }
1820 }
1821 #[cfg(feature = "Foundation")]
1822 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>1823     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
1824         ::windows::runtime::IntoParam::into_param(&self)
1825     }
1826 }
1827 #[cfg(feature = "Foundation")]
1828 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>1829     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
1830         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1831     }
1832 }
1833 impl ::std::convert::TryFrom<InteractionSourceConfiguration> for super::IAnimationObject {
1834     type Error = ::windows::runtime::Error;
try_from(value: InteractionSourceConfiguration) -> ::windows::runtime::Result<Self>1835     fn try_from(value: InteractionSourceConfiguration) -> ::windows::runtime::Result<Self> {
1836         ::std::convert::TryFrom::try_from(&value)
1837     }
1838 }
1839 impl ::std::convert::TryFrom<&InteractionSourceConfiguration> for super::IAnimationObject {
1840     type Error = ::windows::runtime::Error;
try_from(value: &InteractionSourceConfiguration) -> ::windows::runtime::Result<Self>1841     fn try_from(value: &InteractionSourceConfiguration) -> ::windows::runtime::Result<Self> {
1842         ::windows::runtime::Interface::cast(value)
1843     }
1844 }
1845 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>1846     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
1847         ::windows::runtime::IntoParam::into_param(&self)
1848     }
1849 }
1850 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>1851     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
1852         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1853     }
1854 }
1855 impl ::std::convert::From<InteractionSourceConfiguration> for super::CompositionObject {
from(value: InteractionSourceConfiguration) -> Self1856     fn from(value: InteractionSourceConfiguration) -> Self {
1857         ::std::convert::Into::<super::CompositionObject>::into(&value)
1858     }
1859 }
1860 impl ::std::convert::From<&InteractionSourceConfiguration> for super::CompositionObject {
from(value: &InteractionSourceConfiguration) -> Self1861     fn from(value: &InteractionSourceConfiguration) -> Self {
1862         ::windows::runtime::Interface::cast(value).unwrap()
1863     }
1864 }
1865 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>1866     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
1867         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
1868     }
1869 }
1870 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &InteractionSourceConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>1871     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
1872         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
1873     }
1874 }
1875 unsafe impl ::std::marker::Send for InteractionSourceConfiguration {}
1876 unsafe impl ::std::marker::Sync for InteractionSourceConfiguration {}
1877 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1878 #[repr(transparent)]
1879 pub struct InteractionSourceMode(pub i32);
1880 impl InteractionSourceMode {
1881     pub const Disabled: InteractionSourceMode = InteractionSourceMode(0i32);
1882     pub const EnabledWithInertia: InteractionSourceMode = InteractionSourceMode(1i32);
1883     pub const EnabledWithoutInertia: InteractionSourceMode = InteractionSourceMode(2i32);
1884 }
1885 impl ::std::convert::From<i32> for InteractionSourceMode {
from(value: i32) -> Self1886     fn from(value: i32) -> Self {
1887         Self(value)
1888     }
1889 }
1890 unsafe impl ::windows::runtime::Abi for InteractionSourceMode {
1891     type Abi = Self;
1892     type DefaultType = Self;
1893 }
1894 unsafe impl ::windows::runtime::RuntimeType for InteractionSourceMode {
1895     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.Interactions.InteractionSourceMode;i4)");
1896 }
1897 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1898 #[repr(transparent)]
1899 pub struct InteractionSourceRedirectionMode(pub i32);
1900 impl InteractionSourceRedirectionMode {
1901     pub const Disabled: InteractionSourceRedirectionMode = InteractionSourceRedirectionMode(0i32);
1902     pub const Enabled: InteractionSourceRedirectionMode = InteractionSourceRedirectionMode(1i32);
1903 }
1904 impl ::std::convert::From<i32> for InteractionSourceRedirectionMode {
from(value: i32) -> Self1905     fn from(value: i32) -> Self {
1906         Self(value)
1907     }
1908 }
1909 unsafe impl ::windows::runtime::Abi for InteractionSourceRedirectionMode {
1910     type Abi = Self;
1911     type DefaultType = Self;
1912 }
1913 unsafe impl ::windows::runtime::RuntimeType for InteractionSourceRedirectionMode {
1914     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.Interactions.InteractionSourceRedirectionMode;i4)");
1915 }
1916 #[repr(transparent)]
1917 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1918 pub struct InteractionTracker(::windows::runtime::IInspectable);
1919 impl InteractionTracker {
InteractionSources(&self) -> ::windows::runtime::Result<CompositionInteractionSourceCollection>1920     pub fn InteractionSources(&self) -> ::windows::runtime::Result<CompositionInteractionSourceCollection> {
1921         let this = self;
1922         unsafe {
1923             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1924             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionInteractionSourceCollection>(result__)
1925         }
1926     }
IsPositionRoundingSuggested(&self) -> ::windows::runtime::Result<bool>1927     pub fn IsPositionRoundingSuggested(&self) -> ::windows::runtime::Result<bool> {
1928         let this = self;
1929         unsafe {
1930             let mut result__: bool = ::std::mem::zeroed();
1931             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1932         }
1933     }
1934     #[cfg(feature = "Foundation_Numerics")]
MaxPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>1935     pub fn MaxPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
1936         let this = self;
1937         unsafe {
1938             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
1939             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
1940         }
1941     }
1942     #[cfg(feature = "Foundation_Numerics")]
SetMaxPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>1943     pub fn SetMaxPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1944         let this = self;
1945         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1946     }
MaxScale(&self) -> ::windows::runtime::Result<f32>1947     pub fn MaxScale(&self) -> ::windows::runtime::Result<f32> {
1948         let this = self;
1949         unsafe {
1950             let mut result__: f32 = ::std::mem::zeroed();
1951             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1952         }
1953     }
SetMaxScale(&self, value: f32) -> ::windows::runtime::Result<()>1954     pub fn SetMaxScale(&self, value: f32) -> ::windows::runtime::Result<()> {
1955         let this = self;
1956         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
1957     }
1958     #[cfg(feature = "Foundation_Numerics")]
MinPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>1959     pub fn MinPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
1960         let this = self;
1961         unsafe {
1962             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
1963             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
1964         }
1965     }
1966     #[cfg(feature = "Foundation_Numerics")]
SetMinPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>1967     pub fn SetMinPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1968         let this = self;
1969         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1970     }
MinScale(&self) -> ::windows::runtime::Result<f32>1971     pub fn MinScale(&self) -> ::windows::runtime::Result<f32> {
1972         let this = self;
1973         unsafe {
1974             let mut result__: f32 = ::std::mem::zeroed();
1975             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1976         }
1977     }
SetMinScale(&self, value: f32) -> ::windows::runtime::Result<()>1978     pub fn SetMinScale(&self, value: f32) -> ::windows::runtime::Result<()> {
1979         let this = self;
1980         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
1981     }
1982     #[cfg(feature = "Foundation_Numerics")]
NaturalRestingPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>1983     pub fn NaturalRestingPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
1984         let this = self;
1985         unsafe {
1986             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
1987             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
1988         }
1989     }
NaturalRestingScale(&self) -> ::windows::runtime::Result<f32>1990     pub fn NaturalRestingScale(&self) -> ::windows::runtime::Result<f32> {
1991         let this = self;
1992         unsafe {
1993             let mut result__: f32 = ::std::mem::zeroed();
1994             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1995         }
1996     }
Owner(&self) -> ::windows::runtime::Result<IInteractionTrackerOwner>1997     pub fn Owner(&self) -> ::windows::runtime::Result<IInteractionTrackerOwner> {
1998         let this = self;
1999         unsafe {
2000             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2001             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInteractionTrackerOwner>(result__)
2002         }
2003     }
2004     #[cfg(feature = "Foundation_Numerics")]
Position(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>2005     pub fn Position(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
2006         let this = self;
2007         unsafe {
2008             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
2009             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
2010         }
2011     }
2012     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
PositionInertiaDecayRate(&self) -> ::windows::runtime::Result<super::super::super::Foundation::IReference<super::super::super::Foundation::Numerics::Vector3>>2013     pub fn PositionInertiaDecayRate(&self) -> ::windows::runtime::Result<super::super::super::Foundation::IReference<super::super::super::Foundation::Numerics::Vector3>> {
2014         let this = self;
2015         unsafe {
2016             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2017             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::IReference<super::super::super::Foundation::Numerics::Vector3>>(result__)
2018         }
2019     }
2020     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetPositionInertiaDecayRate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IReference<super::super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()>2021     pub fn SetPositionInertiaDecayRate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IReference<super::super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2022         let this = self;
2023         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2024     }
2025     #[cfg(feature = "Foundation_Numerics")]
PositionVelocityInPixelsPerSecond(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>2026     pub fn PositionVelocityInPixelsPerSecond(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
2027         let this = self;
2028         unsafe {
2029             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
2030             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
2031         }
2032     }
Scale(&self) -> ::windows::runtime::Result<f32>2033     pub fn Scale(&self) -> ::windows::runtime::Result<f32> {
2034         let this = self;
2035         unsafe {
2036             let mut result__: f32 = ::std::mem::zeroed();
2037             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
2038         }
2039     }
2040     #[cfg(feature = "Foundation")]
ScaleInertiaDecayRate(&self) -> ::windows::runtime::Result<super::super::super::Foundation::IReference<f32>>2041     pub fn ScaleInertiaDecayRate(&self) -> ::windows::runtime::Result<super::super::super::Foundation::IReference<f32>> {
2042         let this = self;
2043         unsafe {
2044             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2045             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::IReference<f32>>(result__)
2046         }
2047     }
2048     #[cfg(feature = "Foundation")]
SetScaleInertiaDecayRate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()>2049     pub fn SetScaleInertiaDecayRate<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2050         let this = self;
2051         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2052     }
ScaleVelocityInPercentPerSecond(&self) -> ::windows::runtime::Result<f32>2053     pub fn ScaleVelocityInPercentPerSecond(&self) -> ::windows::runtime::Result<f32> {
2054         let this = self;
2055         unsafe {
2056             let mut result__: f32 = ::std::mem::zeroed();
2057             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
2058         }
2059     }
AdjustPositionXIfGreaterThanThreshold(&self, adjustment: f32, positionthreshold: f32) -> ::windows::runtime::Result<()>2060     pub fn AdjustPositionXIfGreaterThanThreshold(&self, adjustment: f32, positionthreshold: f32) -> ::windows::runtime::Result<()> {
2061         let this = self;
2062         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), adjustment, positionthreshold).ok() }
2063     }
AdjustPositionYIfGreaterThanThreshold(&self, adjustment: f32, positionthreshold: f32) -> ::windows::runtime::Result<()>2064     pub fn AdjustPositionYIfGreaterThanThreshold(&self, adjustment: f32, positionthreshold: f32) -> ::windows::runtime::Result<()> {
2065         let this = self;
2066         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), adjustment, positionthreshold).ok() }
2067     }
2068     #[cfg(feature = "Foundation_Collections")]
ConfigurePositionXInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<InteractionTrackerInertiaModifier>>>(&self, modifiers: Param0) -> ::windows::runtime::Result<()>2069     pub fn ConfigurePositionXInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<InteractionTrackerInertiaModifier>>>(&self, modifiers: Param0) -> ::windows::runtime::Result<()> {
2070         let this = self;
2071         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), modifiers.into_param().abi()).ok() }
2072     }
2073     #[cfg(feature = "Foundation_Collections")]
ConfigurePositionYInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<InteractionTrackerInertiaModifier>>>(&self, modifiers: Param0) -> ::windows::runtime::Result<()>2074     pub fn ConfigurePositionYInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<InteractionTrackerInertiaModifier>>>(&self, modifiers: Param0) -> ::windows::runtime::Result<()> {
2075         let this = self;
2076         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), modifiers.into_param().abi()).ok() }
2077     }
2078     #[cfg(feature = "Foundation_Collections")]
ConfigureScaleInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<InteractionTrackerInertiaModifier>>>(&self, modifiers: Param0) -> ::windows::runtime::Result<()>2079     pub fn ConfigureScaleInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<InteractionTrackerInertiaModifier>>>(&self, modifiers: Param0) -> ::windows::runtime::Result<()> {
2080         let this = self;
2081         unsafe { (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), modifiers.into_param().abi()).ok() }
2082     }
2083     #[cfg(feature = "Foundation_Numerics")]
TryUpdatePosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<i32>2084     pub fn TryUpdatePosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<i32> {
2085         let this = self;
2086         unsafe {
2087             let mut result__: i32 = ::std::mem::zeroed();
2088             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<i32>(result__)
2089         }
2090     }
2091     #[cfg(feature = "Foundation_Numerics")]
TryUpdatePositionBy<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, amount: Param0) -> ::windows::runtime::Result<i32>2092     pub fn TryUpdatePositionBy<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, amount: Param0) -> ::windows::runtime::Result<i32> {
2093         let this = self;
2094         unsafe {
2095             let mut result__: i32 = ::std::mem::zeroed();
2096             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), amount.into_param().abi(), &mut result__).from_abi::<i32>(result__)
2097         }
2098     }
TryUpdatePositionWithAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, animation: Param0) -> ::windows::runtime::Result<i32>2099     pub fn TryUpdatePositionWithAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, animation: Param0) -> ::windows::runtime::Result<i32> {
2100         let this = self;
2101         unsafe {
2102             let mut result__: i32 = ::std::mem::zeroed();
2103             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), animation.into_param().abi(), &mut result__).from_abi::<i32>(result__)
2104         }
2105     }
2106     #[cfg(feature = "Foundation_Numerics")]
TryUpdatePositionWithAdditionalVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, velocityinpixelspersecond: Param0) -> ::windows::runtime::Result<i32>2107     pub fn TryUpdatePositionWithAdditionalVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, velocityinpixelspersecond: Param0) -> ::windows::runtime::Result<i32> {
2108         let this = self;
2109         unsafe {
2110             let mut result__: i32 = ::std::mem::zeroed();
2111             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), velocityinpixelspersecond.into_param().abi(), &mut result__).from_abi::<i32>(result__)
2112         }
2113     }
2114     #[cfg(feature = "Foundation_Numerics")]
TryUpdateScale<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: f32, centerpoint: Param1) -> ::windows::runtime::Result<i32>2115     pub fn TryUpdateScale<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: f32, centerpoint: Param1) -> ::windows::runtime::Result<i32> {
2116         let this = self;
2117         unsafe {
2118             let mut result__: i32 = ::std::mem::zeroed();
2119             (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value, centerpoint.into_param().abi(), &mut result__).from_abi::<i32>(result__)
2120         }
2121     }
2122     #[cfg(feature = "Foundation_Numerics")]
TryUpdateScaleWithAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, animation: Param0, centerpoint: Param1) -> ::windows::runtime::Result<i32>2123     pub fn TryUpdateScaleWithAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, animation: Param0, centerpoint: Param1) -> ::windows::runtime::Result<i32> {
2124         let this = self;
2125         unsafe {
2126             let mut result__: i32 = ::std::mem::zeroed();
2127             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), animation.into_param().abi(), centerpoint.into_param().abi(), &mut result__).from_abi::<i32>(result__)
2128         }
2129     }
2130     #[cfg(feature = "Foundation_Numerics")]
TryUpdateScaleWithAdditionalVelocity<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, velocityinpercentpersecond: f32, centerpoint: Param1) -> ::windows::runtime::Result<i32>2131     pub fn TryUpdateScaleWithAdditionalVelocity<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, velocityinpercentpersecond: f32, centerpoint: Param1) -> ::windows::runtime::Result<i32> {
2132         let this = self;
2133         unsafe {
2134             let mut result__: i32 = ::std::mem::zeroed();
2135             (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), velocityinpercentpersecond, centerpoint.into_param().abi(), &mut result__).from_abi::<i32>(result__)
2136         }
2137     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTracker>2138     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTracker> {
2139         Self::IInteractionTrackerStatics(|this| unsafe {
2140             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2141             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), compositor.into_param().abi(), &mut result__).from_abi::<InteractionTracker>(result__)
2142         })
2143     }
CreateWithOwner<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>, Param1: ::windows::runtime::IntoParam<'a, IInteractionTrackerOwner>>(compositor: Param0, owner: Param1) -> ::windows::runtime::Result<InteractionTracker>2144     pub fn CreateWithOwner<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>, Param1: ::windows::runtime::IntoParam<'a, IInteractionTrackerOwner>>(compositor: Param0, owner: Param1) -> ::windows::runtime::Result<InteractionTracker> {
2145         Self::IInteractionTrackerStatics(|this| unsafe {
2146             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2147             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), compositor.into_param().abi(), owner.into_param().abi(), &mut result__).from_abi::<InteractionTracker>(result__)
2148         })
2149     }
2150     #[cfg(feature = "Foundation_Collections")]
ConfigureCenterPointXInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()>2151     pub fn ConfigureCenterPointXInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()> {
2152         let this = &::windows::runtime::Interface::cast::<IInteractionTracker2>(self)?;
2153         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), conditionalvalues.into_param().abi()).ok() }
2154     }
2155     #[cfg(feature = "Foundation_Collections")]
ConfigureCenterPointYInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()>2156     pub fn ConfigureCenterPointYInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()> {
2157         let this = &::windows::runtime::Interface::cast::<IInteractionTracker2>(self)?;
2158         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), conditionalvalues.into_param().abi()).ok() }
2159     }
2160     #[cfg(feature = "Foundation_Collections")]
ConfigureVector2PositionInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<InteractionTrackerVector2InertiaModifier>>>(&self, modifiers: Param0) -> ::windows::runtime::Result<()>2161     pub fn ConfigureVector2PositionInertiaModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<InteractionTrackerVector2InertiaModifier>>>(&self, modifiers: Param0) -> ::windows::runtime::Result<()> {
2162         let this = &::windows::runtime::Interface::cast::<IInteractionTracker3>(self)?;
2163         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), modifiers.into_param().abi()).ok() }
2164     }
2165     #[cfg(feature = "Foundation_Numerics")]
TryUpdatePositionWithOption<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0, option: InteractionTrackerClampingOption) -> ::windows::runtime::Result<i32>2166     pub fn TryUpdatePositionWithOption<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0, option: InteractionTrackerClampingOption) -> ::windows::runtime::Result<i32> {
2167         let this = &::windows::runtime::Interface::cast::<IInteractionTracker4>(self)?;
2168         unsafe {
2169             let mut result__: i32 = ::std::mem::zeroed();
2170             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi(), option, &mut result__).from_abi::<i32>(result__)
2171         }
2172     }
2173     #[cfg(feature = "Foundation_Numerics")]
TryUpdatePositionByWithOption<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, amount: Param0, option: InteractionTrackerClampingOption) -> ::windows::runtime::Result<i32>2174     pub fn TryUpdatePositionByWithOption<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, amount: Param0, option: InteractionTrackerClampingOption) -> ::windows::runtime::Result<i32> {
2175         let this = &::windows::runtime::Interface::cast::<IInteractionTracker4>(self)?;
2176         unsafe {
2177             let mut result__: i32 = ::std::mem::zeroed();
2178             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), amount.into_param().abi(), option, &mut result__).from_abi::<i32>(result__)
2179         }
2180     }
IsInertiaFromImpulse(&self) -> ::windows::runtime::Result<bool>2181     pub fn IsInertiaFromImpulse(&self) -> ::windows::runtime::Result<bool> {
2182         let this = &::windows::runtime::Interface::cast::<IInteractionTracker4>(self)?;
2183         unsafe {
2184             let mut result__: bool = ::std::mem::zeroed();
2185             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2186         }
2187     }
SetBindingMode<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTracker>>(boundtracker1: Param0, boundtracker2: Param1, axismode: InteractionBindingAxisModes) -> ::windows::runtime::Result<()>2188     pub fn SetBindingMode<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTracker>>(boundtracker1: Param0, boundtracker2: Param1, axismode: InteractionBindingAxisModes) -> ::windows::runtime::Result<()> {
2189         Self::IInteractionTrackerStatics2(|this| unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), boundtracker1.into_param().abi(), boundtracker2.into_param().abi(), axismode).ok() })
2190     }
GetBindingMode<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTracker>>(boundtracker1: Param0, boundtracker2: Param1) -> ::windows::runtime::Result<InteractionBindingAxisModes>2191     pub fn GetBindingMode<'a, Param0: ::windows::runtime::IntoParam<'a, InteractionTracker>, Param1: ::windows::runtime::IntoParam<'a, InteractionTracker>>(boundtracker1: Param0, boundtracker2: Param1) -> ::windows::runtime::Result<InteractionBindingAxisModes> {
2192         Self::IInteractionTrackerStatics2(|this| unsafe {
2193             let mut result__: InteractionBindingAxisModes = ::std::mem::zeroed();
2194             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), boundtracker1.into_param().abi(), boundtracker2.into_param().abi(), &mut result__).from_abi::<InteractionBindingAxisModes>(result__)
2195         })
2196     }
2197     #[cfg(feature = "Foundation_Numerics")]
TryUpdatePositionWithOption2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0, option: InteractionTrackerClampingOption, posupdateoption: InteractionTrackerPositionUpdateOption) -> ::windows::runtime::Result<i32>2198     pub fn TryUpdatePositionWithOption2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Numerics::Vector3>>(&self, value: Param0, option: InteractionTrackerClampingOption, posupdateoption: InteractionTrackerPositionUpdateOption) -> ::windows::runtime::Result<i32> {
2199         let this = &::windows::runtime::Interface::cast::<IInteractionTracker5>(self)?;
2200         unsafe {
2201             let mut result__: i32 = ::std::mem::zeroed();
2202             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi(), option, posupdateoption, &mut result__).from_abi::<i32>(result__)
2203         }
2204     }
2205     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>2206     pub fn Close(&self) -> ::windows::runtime::Result<()> {
2207         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
2208         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2209     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>2210     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
2211         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2212         unsafe {
2213             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2214             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
2215         }
2216     }
2217     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>2218     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
2219         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2220         unsafe {
2221             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2222             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
2223         }
2224     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>2225     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
2226         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2227         unsafe {
2228             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2229             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
2230         }
2231     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>2232     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
2233         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2234         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
2235     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>2236     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
2237         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2238         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
2239     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2240     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2241         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2242         unsafe {
2243             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2244             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2245         }
2246     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2247     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2248         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2249         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2250     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>2251     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
2252         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2253         unsafe {
2254             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2255             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
2256         }
2257     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>2258     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2259         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2260         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2261     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2262     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2263         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2264         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2265     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2266     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2267         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2268         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2269     }
2270     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>2271     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
2272         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
2273         unsafe {
2274             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2275             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
2276         }
2277     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>2278     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
2279         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
2280         unsafe {
2281             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2282             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
2283         }
2284     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>2285     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
2286         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
2287         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
2288     }
IInteractionTrackerStatics<R, F: FnOnce(&IInteractionTrackerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2289     pub fn IInteractionTrackerStatics<R, F: FnOnce(&IInteractionTrackerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2290         static mut SHARED: ::windows::runtime::FactoryCache<InteractionTracker, IInteractionTrackerStatics> = ::windows::runtime::FactoryCache::new();
2291         unsafe { SHARED.call(callback) }
2292     }
IInteractionTrackerStatics2<R, F: FnOnce(&IInteractionTrackerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2293     pub fn IInteractionTrackerStatics2<R, F: FnOnce(&IInteractionTrackerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2294         static mut SHARED: ::windows::runtime::FactoryCache<InteractionTracker, IInteractionTrackerStatics2> = ::windows::runtime::FactoryCache::new();
2295         unsafe { SHARED.call(callback) }
2296     }
2297 }
2298 unsafe impl ::windows::runtime::RuntimeType for InteractionTracker {
2299     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTracker;{2a8e8cb1-1000-4416-8363-cc27fb877308})");
2300 }
2301 unsafe impl ::windows::runtime::Interface for InteractionTracker {
2302     type Vtable = IInteractionTracker_abi;
2303     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(713985201, 4096, 17430, [131, 99, 204, 39, 251, 135, 115, 8]);
2304 }
2305 impl ::windows::runtime::RuntimeName for InteractionTracker {
2306     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTracker";
2307 }
2308 impl ::std::convert::From<InteractionTracker> for ::windows::runtime::IUnknown {
from(value: InteractionTracker) -> Self2309     fn from(value: InteractionTracker) -> Self {
2310         unsafe { ::std::mem::transmute(value) }
2311     }
2312 }
2313 impl ::std::convert::From<&InteractionTracker> for ::windows::runtime::IUnknown {
from(value: &InteractionTracker) -> Self2314     fn from(value: &InteractionTracker) -> Self {
2315         ::std::convert::From::from(::std::clone::Clone::clone(value))
2316     }
2317 }
2318 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2319     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2320         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2321     }
2322 }
2323 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2324     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2325         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2326     }
2327 }
2328 impl ::std::convert::From<InteractionTracker> for ::windows::runtime::IInspectable {
from(value: InteractionTracker) -> Self2329     fn from(value: InteractionTracker) -> Self {
2330         value.0
2331     }
2332 }
2333 impl ::std::convert::From<&InteractionTracker> for ::windows::runtime::IInspectable {
from(value: &InteractionTracker) -> Self2334     fn from(value: &InteractionTracker) -> Self {
2335         value.0.clone()
2336     }
2337 }
2338 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2339     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2340         ::windows::runtime::Param::Owned(self.0)
2341     }
2342 }
2343 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2344     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2345         ::windows::runtime::Param::Borrowed(&self.0)
2346     }
2347 }
2348 #[cfg(feature = "Foundation")]
2349 impl ::std::convert::TryFrom<InteractionTracker> for super::super::super::Foundation::IClosable {
2350     type Error = ::windows::runtime::Error;
try_from(value: InteractionTracker) -> ::windows::runtime::Result<Self>2351     fn try_from(value: InteractionTracker) -> ::windows::runtime::Result<Self> {
2352         ::std::convert::TryFrom::try_from(&value)
2353     }
2354 }
2355 #[cfg(feature = "Foundation")]
2356 impl ::std::convert::TryFrom<&InteractionTracker> for super::super::super::Foundation::IClosable {
2357     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTracker) -> ::windows::runtime::Result<Self>2358     fn try_from(value: &InteractionTracker) -> ::windows::runtime::Result<Self> {
2359         ::windows::runtime::Interface::cast(value)
2360     }
2361 }
2362 #[cfg(feature = "Foundation")]
2363 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>2364     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
2365         ::windows::runtime::IntoParam::into_param(&self)
2366     }
2367 }
2368 #[cfg(feature = "Foundation")]
2369 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>2370     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
2371         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2372     }
2373 }
2374 impl ::std::convert::TryFrom<InteractionTracker> for super::IAnimationObject {
2375     type Error = ::windows::runtime::Error;
try_from(value: InteractionTracker) -> ::windows::runtime::Result<Self>2376     fn try_from(value: InteractionTracker) -> ::windows::runtime::Result<Self> {
2377         ::std::convert::TryFrom::try_from(&value)
2378     }
2379 }
2380 impl ::std::convert::TryFrom<&InteractionTracker> for super::IAnimationObject {
2381     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTracker) -> ::windows::runtime::Result<Self>2382     fn try_from(value: &InteractionTracker) -> ::windows::runtime::Result<Self> {
2383         ::windows::runtime::Interface::cast(value)
2384     }
2385 }
2386 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>2387     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
2388         ::windows::runtime::IntoParam::into_param(&self)
2389     }
2390 }
2391 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>2392     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
2393         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2394     }
2395 }
2396 impl ::std::convert::From<InteractionTracker> for super::CompositionObject {
from(value: InteractionTracker) -> Self2397     fn from(value: InteractionTracker) -> Self {
2398         ::std::convert::Into::<super::CompositionObject>::into(&value)
2399     }
2400 }
2401 impl ::std::convert::From<&InteractionTracker> for super::CompositionObject {
from(value: &InteractionTracker) -> Self2402     fn from(value: &InteractionTracker) -> Self {
2403         ::windows::runtime::Interface::cast(value).unwrap()
2404     }
2405 }
2406 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>2407     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
2408         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
2409     }
2410 }
2411 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &InteractionTracker {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>2412     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
2413         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
2414     }
2415 }
2416 unsafe impl ::std::marker::Send for InteractionTracker {}
2417 unsafe impl ::std::marker::Sync for InteractionTracker {}
2418 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2419 #[repr(transparent)]
2420 pub struct InteractionTrackerClampingOption(pub i32);
2421 impl InteractionTrackerClampingOption {
2422     pub const Auto: InteractionTrackerClampingOption = InteractionTrackerClampingOption(0i32);
2423     pub const Disabled: InteractionTrackerClampingOption = InteractionTrackerClampingOption(1i32);
2424 }
2425 impl ::std::convert::From<i32> for InteractionTrackerClampingOption {
from(value: i32) -> Self2426     fn from(value: i32) -> Self {
2427         Self(value)
2428     }
2429 }
2430 unsafe impl ::windows::runtime::Abi for InteractionTrackerClampingOption {
2431     type Abi = Self;
2432     type DefaultType = Self;
2433 }
2434 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerClampingOption {
2435     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.Interactions.InteractionTrackerClampingOption;i4)");
2436 }
2437 #[repr(transparent)]
2438 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2439 pub struct InteractionTrackerCustomAnimationStateEnteredArgs(::windows::runtime::IInspectable);
2440 impl InteractionTrackerCustomAnimationStateEnteredArgs {
RequestId(&self) -> ::windows::runtime::Result<i32>2441     pub fn RequestId(&self) -> ::windows::runtime::Result<i32> {
2442         let this = self;
2443         unsafe {
2444             let mut result__: i32 = ::std::mem::zeroed();
2445             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2446         }
2447     }
IsFromBinding(&self) -> ::windows::runtime::Result<bool>2448     pub fn IsFromBinding(&self) -> ::windows::runtime::Result<bool> {
2449         let this = &::windows::runtime::Interface::cast::<IInteractionTrackerCustomAnimationStateEnteredArgs2>(self)?;
2450         unsafe {
2451             let mut result__: bool = ::std::mem::zeroed();
2452             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2453         }
2454     }
2455 }
2456 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerCustomAnimationStateEnteredArgs {
2457     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerCustomAnimationStateEnteredArgs;{8d1c8cf1-d7b0-434c-a5d2-2d7611864834})");
2458 }
2459 unsafe impl ::windows::runtime::Interface for InteractionTrackerCustomAnimationStateEnteredArgs {
2460     type Vtable = IInteractionTrackerCustomAnimationStateEnteredArgs_abi;
2461     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2367458545, 55216, 17228, [165, 210, 45, 118, 17, 134, 72, 52]);
2462 }
2463 impl ::windows::runtime::RuntimeName for InteractionTrackerCustomAnimationStateEnteredArgs {
2464     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerCustomAnimationStateEnteredArgs";
2465 }
2466 impl ::std::convert::From<InteractionTrackerCustomAnimationStateEnteredArgs> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerCustomAnimationStateEnteredArgs) -> Self2467     fn from(value: InteractionTrackerCustomAnimationStateEnteredArgs) -> Self {
2468         unsafe { ::std::mem::transmute(value) }
2469     }
2470 }
2471 impl ::std::convert::From<&InteractionTrackerCustomAnimationStateEnteredArgs> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerCustomAnimationStateEnteredArgs) -> Self2472     fn from(value: &InteractionTrackerCustomAnimationStateEnteredArgs) -> Self {
2473         ::std::convert::From::from(::std::clone::Clone::clone(value))
2474     }
2475 }
2476 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerCustomAnimationStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2477     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2478         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2479     }
2480 }
2481 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerCustomAnimationStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2482     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2483         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2484     }
2485 }
2486 impl ::std::convert::From<InteractionTrackerCustomAnimationStateEnteredArgs> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerCustomAnimationStateEnteredArgs) -> Self2487     fn from(value: InteractionTrackerCustomAnimationStateEnteredArgs) -> Self {
2488         value.0
2489     }
2490 }
2491 impl ::std::convert::From<&InteractionTrackerCustomAnimationStateEnteredArgs> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerCustomAnimationStateEnteredArgs) -> Self2492     fn from(value: &InteractionTrackerCustomAnimationStateEnteredArgs) -> Self {
2493         value.0.clone()
2494     }
2495 }
2496 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerCustomAnimationStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2497     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2498         ::windows::runtime::Param::Owned(self.0)
2499     }
2500 }
2501 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerCustomAnimationStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2502     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2503         ::windows::runtime::Param::Borrowed(&self.0)
2504     }
2505 }
2506 unsafe impl ::std::marker::Send for InteractionTrackerCustomAnimationStateEnteredArgs {}
2507 unsafe impl ::std::marker::Sync for InteractionTrackerCustomAnimationStateEnteredArgs {}
2508 #[repr(transparent)]
2509 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2510 pub struct InteractionTrackerIdleStateEnteredArgs(::windows::runtime::IInspectable);
2511 impl InteractionTrackerIdleStateEnteredArgs {
RequestId(&self) -> ::windows::runtime::Result<i32>2512     pub fn RequestId(&self) -> ::windows::runtime::Result<i32> {
2513         let this = self;
2514         unsafe {
2515             let mut result__: i32 = ::std::mem::zeroed();
2516             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2517         }
2518     }
IsFromBinding(&self) -> ::windows::runtime::Result<bool>2519     pub fn IsFromBinding(&self) -> ::windows::runtime::Result<bool> {
2520         let this = &::windows::runtime::Interface::cast::<IInteractionTrackerIdleStateEnteredArgs2>(self)?;
2521         unsafe {
2522             let mut result__: bool = ::std::mem::zeroed();
2523             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2524         }
2525     }
2526 }
2527 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerIdleStateEnteredArgs {
2528     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerIdleStateEnteredArgs;{50012faa-1510-4142-a1a5-019b09f8857b})");
2529 }
2530 unsafe impl ::windows::runtime::Interface for InteractionTrackerIdleStateEnteredArgs {
2531     type Vtable = IInteractionTrackerIdleStateEnteredArgs_abi;
2532     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1342255018, 5392, 16706, [161, 165, 1, 155, 9, 248, 133, 123]);
2533 }
2534 impl ::windows::runtime::RuntimeName for InteractionTrackerIdleStateEnteredArgs {
2535     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerIdleStateEnteredArgs";
2536 }
2537 impl ::std::convert::From<InteractionTrackerIdleStateEnteredArgs> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerIdleStateEnteredArgs) -> Self2538     fn from(value: InteractionTrackerIdleStateEnteredArgs) -> Self {
2539         unsafe { ::std::mem::transmute(value) }
2540     }
2541 }
2542 impl ::std::convert::From<&InteractionTrackerIdleStateEnteredArgs> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerIdleStateEnteredArgs) -> Self2543     fn from(value: &InteractionTrackerIdleStateEnteredArgs) -> Self {
2544         ::std::convert::From::from(::std::clone::Clone::clone(value))
2545     }
2546 }
2547 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerIdleStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2548     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2549         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2550     }
2551 }
2552 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerIdleStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2553     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2554         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2555     }
2556 }
2557 impl ::std::convert::From<InteractionTrackerIdleStateEnteredArgs> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerIdleStateEnteredArgs) -> Self2558     fn from(value: InteractionTrackerIdleStateEnteredArgs) -> Self {
2559         value.0
2560     }
2561 }
2562 impl ::std::convert::From<&InteractionTrackerIdleStateEnteredArgs> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerIdleStateEnteredArgs) -> Self2563     fn from(value: &InteractionTrackerIdleStateEnteredArgs) -> Self {
2564         value.0.clone()
2565     }
2566 }
2567 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerIdleStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2568     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2569         ::windows::runtime::Param::Owned(self.0)
2570     }
2571 }
2572 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerIdleStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2573     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2574         ::windows::runtime::Param::Borrowed(&self.0)
2575     }
2576 }
2577 unsafe impl ::std::marker::Send for InteractionTrackerIdleStateEnteredArgs {}
2578 unsafe impl ::std::marker::Sync for InteractionTrackerIdleStateEnteredArgs {}
2579 #[repr(transparent)]
2580 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2581 pub struct InteractionTrackerInertiaModifier(::windows::runtime::IInspectable);
2582 impl InteractionTrackerInertiaModifier {
2583     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>2584     pub fn Close(&self) -> ::windows::runtime::Result<()> {
2585         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
2586         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2587     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>2588     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
2589         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2590         unsafe {
2591             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2592             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
2593         }
2594     }
2595     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>2596     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
2597         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2598         unsafe {
2599             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2600             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
2601         }
2602     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>2603     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
2604         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2605         unsafe {
2606             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2607             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
2608         }
2609     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>2610     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
2611         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2612         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
2613     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>2614     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
2615         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2616         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
2617     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2618     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2619         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2620         unsafe {
2621             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2622             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2623         }
2624     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2625     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2626         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2627         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2628     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>2629     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
2630         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2631         unsafe {
2632             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2633             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
2634         }
2635     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>2636     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2637         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2638         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2639     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2640     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2641         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2642         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2643     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2644     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2645         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2646         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2647     }
2648     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>2649     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
2650         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
2651         unsafe {
2652             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2653             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
2654         }
2655     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>2656     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
2657         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
2658         unsafe {
2659             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2660             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
2661         }
2662     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>2663     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
2664         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
2665         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
2666     }
2667 }
2668 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerInertiaModifier {
2669     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier;{a0e2c920-26b4-4da2-8b61-5e683979bbe2})");
2670 }
2671 unsafe impl ::windows::runtime::Interface for InteractionTrackerInertiaModifier {
2672     type Vtable = IInteractionTrackerInertiaModifier_abi;
2673     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2699217184, 9908, 19874, [139, 97, 94, 104, 57, 121, 187, 226]);
2674 }
2675 impl ::windows::runtime::RuntimeName for InteractionTrackerInertiaModifier {
2676     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerInertiaModifier";
2677 }
2678 impl ::std::convert::From<InteractionTrackerInertiaModifier> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerInertiaModifier) -> Self2679     fn from(value: InteractionTrackerInertiaModifier) -> Self {
2680         unsafe { ::std::mem::transmute(value) }
2681     }
2682 }
2683 impl ::std::convert::From<&InteractionTrackerInertiaModifier> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerInertiaModifier) -> Self2684     fn from(value: &InteractionTrackerInertiaModifier) -> Self {
2685         ::std::convert::From::from(::std::clone::Clone::clone(value))
2686     }
2687 }
2688 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2689     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2690         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2691     }
2692 }
2693 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2694     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2695         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2696     }
2697 }
2698 impl ::std::convert::From<InteractionTrackerInertiaModifier> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerInertiaModifier) -> Self2699     fn from(value: InteractionTrackerInertiaModifier) -> Self {
2700         value.0
2701     }
2702 }
2703 impl ::std::convert::From<&InteractionTrackerInertiaModifier> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerInertiaModifier) -> Self2704     fn from(value: &InteractionTrackerInertiaModifier) -> Self {
2705         value.0.clone()
2706     }
2707 }
2708 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2709     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2710         ::windows::runtime::Param::Owned(self.0)
2711     }
2712 }
2713 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2714     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2715         ::windows::runtime::Param::Borrowed(&self.0)
2716     }
2717 }
2718 #[cfg(feature = "Foundation")]
2719 impl ::std::convert::TryFrom<InteractionTrackerInertiaModifier> for super::super::super::Foundation::IClosable {
2720     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerInertiaModifier) -> ::windows::runtime::Result<Self>2721     fn try_from(value: InteractionTrackerInertiaModifier) -> ::windows::runtime::Result<Self> {
2722         ::std::convert::TryFrom::try_from(&value)
2723     }
2724 }
2725 #[cfg(feature = "Foundation")]
2726 impl ::std::convert::TryFrom<&InteractionTrackerInertiaModifier> for super::super::super::Foundation::IClosable {
2727     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerInertiaModifier) -> ::windows::runtime::Result<Self>2728     fn try_from(value: &InteractionTrackerInertiaModifier) -> ::windows::runtime::Result<Self> {
2729         ::windows::runtime::Interface::cast(value)
2730     }
2731 }
2732 #[cfg(feature = "Foundation")]
2733 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>2734     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
2735         ::windows::runtime::IntoParam::into_param(&self)
2736     }
2737 }
2738 #[cfg(feature = "Foundation")]
2739 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>2740     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
2741         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2742     }
2743 }
2744 impl ::std::convert::TryFrom<InteractionTrackerInertiaModifier> for super::IAnimationObject {
2745     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerInertiaModifier) -> ::windows::runtime::Result<Self>2746     fn try_from(value: InteractionTrackerInertiaModifier) -> ::windows::runtime::Result<Self> {
2747         ::std::convert::TryFrom::try_from(&value)
2748     }
2749 }
2750 impl ::std::convert::TryFrom<&InteractionTrackerInertiaModifier> for super::IAnimationObject {
2751     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerInertiaModifier) -> ::windows::runtime::Result<Self>2752     fn try_from(value: &InteractionTrackerInertiaModifier) -> ::windows::runtime::Result<Self> {
2753         ::windows::runtime::Interface::cast(value)
2754     }
2755 }
2756 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>2757     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
2758         ::windows::runtime::IntoParam::into_param(&self)
2759     }
2760 }
2761 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>2762     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
2763         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2764     }
2765 }
2766 impl ::std::convert::From<InteractionTrackerInertiaModifier> for super::CompositionObject {
from(value: InteractionTrackerInertiaModifier) -> Self2767     fn from(value: InteractionTrackerInertiaModifier) -> Self {
2768         ::std::convert::Into::<super::CompositionObject>::into(&value)
2769     }
2770 }
2771 impl ::std::convert::From<&InteractionTrackerInertiaModifier> for super::CompositionObject {
from(value: &InteractionTrackerInertiaModifier) -> Self2772     fn from(value: &InteractionTrackerInertiaModifier) -> Self {
2773         ::windows::runtime::Interface::cast(value).unwrap()
2774     }
2775 }
2776 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>2777     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
2778         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
2779     }
2780 }
2781 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &InteractionTrackerInertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>2782     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
2783         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
2784     }
2785 }
2786 unsafe impl ::std::marker::Send for InteractionTrackerInertiaModifier {}
2787 unsafe impl ::std::marker::Sync for InteractionTrackerInertiaModifier {}
2788 #[repr(transparent)]
2789 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2790 pub struct InteractionTrackerInertiaMotion(::windows::runtime::IInspectable);
2791 impl InteractionTrackerInertiaMotion {
Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation>2792     pub fn Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation> {
2793         let this = self;
2794         unsafe {
2795             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2796             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ExpressionAnimation>(result__)
2797         }
2798     }
SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>2799     pub fn SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2800         let this = self;
2801         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2802     }
Motion(&self) -> ::windows::runtime::Result<super::ExpressionAnimation>2803     pub fn Motion(&self) -> ::windows::runtime::Result<super::ExpressionAnimation> {
2804         let this = self;
2805         unsafe {
2806             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2807             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ExpressionAnimation>(result__)
2808         }
2809     }
SetMotion<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>2810     pub fn SetMotion<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2811         let this = self;
2812         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2813     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTrackerInertiaMotion>2814     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTrackerInertiaMotion> {
2815         Self::IInteractionTrackerInertiaMotionStatics(|this| unsafe {
2816             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2817             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), compositor.into_param().abi(), &mut result__).from_abi::<InteractionTrackerInertiaMotion>(result__)
2818         })
2819     }
2820     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>2821     pub fn Close(&self) -> ::windows::runtime::Result<()> {
2822         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
2823         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2824     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>2825     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
2826         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2827         unsafe {
2828             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2829             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
2830         }
2831     }
2832     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>2833     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
2834         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2835         unsafe {
2836             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2837             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
2838         }
2839     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>2840     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
2841         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2842         unsafe {
2843             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2844             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
2845         }
2846     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>2847     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
2848         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2849         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
2850     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>2851     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
2852         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
2853         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
2854     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2855     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2856         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2857         unsafe {
2858             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2859             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2860         }
2861     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2862     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2863         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2864         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2865     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>2866     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
2867         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2868         unsafe {
2869             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2870             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
2871         }
2872     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>2873     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2874         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2875         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2876     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2877     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2878         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2879         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2880     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2881     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2882         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
2883         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2884     }
2885     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>2886     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
2887         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
2888         unsafe {
2889             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2890             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
2891         }
2892     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>2893     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
2894         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
2895         unsafe {
2896             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2897             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
2898         }
2899     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>2900     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
2901         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
2902         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
2903     }
IInteractionTrackerInertiaMotionStatics<R, F: FnOnce(&IInteractionTrackerInertiaMotionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2904     pub fn IInteractionTrackerInertiaMotionStatics<R, F: FnOnce(&IInteractionTrackerInertiaMotionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2905         static mut SHARED: ::windows::runtime::FactoryCache<InteractionTrackerInertiaMotion, IInteractionTrackerInertiaMotionStatics> = ::windows::runtime::FactoryCache::new();
2906         unsafe { SHARED.call(callback) }
2907     }
2908 }
2909 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerInertiaMotion {
2910     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerInertiaMotion;{04922fdc-f154-4cb8-bf33-cc1ba611e6db})");
2911 }
2912 unsafe impl ::windows::runtime::Interface for InteractionTrackerInertiaMotion {
2913     type Vtable = IInteractionTrackerInertiaMotion_abi;
2914     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(76689372, 61780, 19640, [191, 51, 204, 27, 166, 17, 230, 219]);
2915 }
2916 impl ::windows::runtime::RuntimeName for InteractionTrackerInertiaMotion {
2917     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerInertiaMotion";
2918 }
2919 impl ::std::convert::From<InteractionTrackerInertiaMotion> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerInertiaMotion) -> Self2920     fn from(value: InteractionTrackerInertiaMotion) -> Self {
2921         unsafe { ::std::mem::transmute(value) }
2922     }
2923 }
2924 impl ::std::convert::From<&InteractionTrackerInertiaMotion> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerInertiaMotion) -> Self2925     fn from(value: &InteractionTrackerInertiaMotion) -> Self {
2926         ::std::convert::From::from(::std::clone::Clone::clone(value))
2927     }
2928 }
2929 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2930     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2931         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2932     }
2933 }
2934 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2935     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2936         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2937     }
2938 }
2939 impl ::std::convert::From<InteractionTrackerInertiaMotion> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerInertiaMotion) -> Self2940     fn from(value: InteractionTrackerInertiaMotion) -> Self {
2941         value.0
2942     }
2943 }
2944 impl ::std::convert::From<&InteractionTrackerInertiaMotion> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerInertiaMotion) -> Self2945     fn from(value: &InteractionTrackerInertiaMotion) -> Self {
2946         value.0.clone()
2947     }
2948 }
2949 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2950     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2951         ::windows::runtime::Param::Owned(self.0)
2952     }
2953 }
2954 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2955     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2956         ::windows::runtime::Param::Borrowed(&self.0)
2957     }
2958 }
2959 #[cfg(feature = "Foundation")]
2960 impl ::std::convert::TryFrom<InteractionTrackerInertiaMotion> for super::super::super::Foundation::IClosable {
2961     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerInertiaMotion) -> ::windows::runtime::Result<Self>2962     fn try_from(value: InteractionTrackerInertiaMotion) -> ::windows::runtime::Result<Self> {
2963         ::std::convert::TryFrom::try_from(&value)
2964     }
2965 }
2966 #[cfg(feature = "Foundation")]
2967 impl ::std::convert::TryFrom<&InteractionTrackerInertiaMotion> for super::super::super::Foundation::IClosable {
2968     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerInertiaMotion) -> ::windows::runtime::Result<Self>2969     fn try_from(value: &InteractionTrackerInertiaMotion) -> ::windows::runtime::Result<Self> {
2970         ::windows::runtime::Interface::cast(value)
2971     }
2972 }
2973 #[cfg(feature = "Foundation")]
2974 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>2975     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
2976         ::windows::runtime::IntoParam::into_param(&self)
2977     }
2978 }
2979 #[cfg(feature = "Foundation")]
2980 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>2981     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
2982         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2983     }
2984 }
2985 impl ::std::convert::TryFrom<InteractionTrackerInertiaMotion> for super::IAnimationObject {
2986     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerInertiaMotion) -> ::windows::runtime::Result<Self>2987     fn try_from(value: InteractionTrackerInertiaMotion) -> ::windows::runtime::Result<Self> {
2988         ::std::convert::TryFrom::try_from(&value)
2989     }
2990 }
2991 impl ::std::convert::TryFrom<&InteractionTrackerInertiaMotion> for super::IAnimationObject {
2992     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerInertiaMotion) -> ::windows::runtime::Result<Self>2993     fn try_from(value: &InteractionTrackerInertiaMotion) -> ::windows::runtime::Result<Self> {
2994         ::windows::runtime::Interface::cast(value)
2995     }
2996 }
2997 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>2998     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
2999         ::windows::runtime::IntoParam::into_param(&self)
3000     }
3001 }
3002 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>3003     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
3004         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3005     }
3006 }
3007 impl ::std::convert::From<InteractionTrackerInertiaMotion> for InteractionTrackerInertiaModifier {
from(value: InteractionTrackerInertiaMotion) -> Self3008     fn from(value: InteractionTrackerInertiaMotion) -> Self {
3009         ::std::convert::Into::<InteractionTrackerInertiaModifier>::into(&value)
3010     }
3011 }
3012 impl ::std::convert::From<&InteractionTrackerInertiaMotion> for InteractionTrackerInertiaModifier {
from(value: &InteractionTrackerInertiaMotion) -> Self3013     fn from(value: &InteractionTrackerInertiaMotion) -> Self {
3014         ::windows::runtime::Interface::cast(value).unwrap()
3015     }
3016 }
3017 impl<'a> ::windows::runtime::IntoParam<'a, InteractionTrackerInertiaModifier> for InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier>3018     fn into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier> {
3019         ::windows::runtime::Param::Owned(::std::convert::Into::<InteractionTrackerInertiaModifier>::into(self))
3020     }
3021 }
3022 impl<'a> ::windows::runtime::IntoParam<'a, InteractionTrackerInertiaModifier> for &InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier>3023     fn into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier> {
3024         ::windows::runtime::Param::Owned(::std::convert::Into::<InteractionTrackerInertiaModifier>::into(::std::clone::Clone::clone(self)))
3025     }
3026 }
3027 impl ::std::convert::From<InteractionTrackerInertiaMotion> for super::CompositionObject {
from(value: InteractionTrackerInertiaMotion) -> Self3028     fn from(value: InteractionTrackerInertiaMotion) -> Self {
3029         ::std::convert::Into::<super::CompositionObject>::into(&value)
3030     }
3031 }
3032 impl ::std::convert::From<&InteractionTrackerInertiaMotion> for super::CompositionObject {
from(value: &InteractionTrackerInertiaMotion) -> Self3033     fn from(value: &InteractionTrackerInertiaMotion) -> Self {
3034         ::windows::runtime::Interface::cast(value).unwrap()
3035     }
3036 }
3037 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>3038     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
3039         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
3040     }
3041 }
3042 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &InteractionTrackerInertiaMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>3043     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
3044         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
3045     }
3046 }
3047 unsafe impl ::std::marker::Send for InteractionTrackerInertiaMotion {}
3048 unsafe impl ::std::marker::Sync for InteractionTrackerInertiaMotion {}
3049 #[repr(transparent)]
3050 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3051 pub struct InteractionTrackerInertiaNaturalMotion(::windows::runtime::IInspectable);
3052 impl InteractionTrackerInertiaNaturalMotion {
Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation>3053     pub fn Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation> {
3054         let this = self;
3055         unsafe {
3056             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3057             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ExpressionAnimation>(result__)
3058         }
3059     }
SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>3060     pub fn SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3061         let this = self;
3062         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3063     }
NaturalMotion(&self) -> ::windows::runtime::Result<super::ScalarNaturalMotionAnimation>3064     pub fn NaturalMotion(&self) -> ::windows::runtime::Result<super::ScalarNaturalMotionAnimation> {
3065         let this = self;
3066         unsafe {
3067             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3068             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ScalarNaturalMotionAnimation>(result__)
3069         }
3070     }
SetNaturalMotion<'a, Param0: ::windows::runtime::IntoParam<'a, super::ScalarNaturalMotionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>3071     pub fn SetNaturalMotion<'a, Param0: ::windows::runtime::IntoParam<'a, super::ScalarNaturalMotionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3072         let this = self;
3073         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3074     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTrackerInertiaNaturalMotion>3075     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTrackerInertiaNaturalMotion> {
3076         Self::IInteractionTrackerInertiaNaturalMotionStatics(|this| unsafe {
3077             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3078             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), compositor.into_param().abi(), &mut result__).from_abi::<InteractionTrackerInertiaNaturalMotion>(result__)
3079         })
3080     }
3081     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>3082     pub fn Close(&self) -> ::windows::runtime::Result<()> {
3083         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
3084         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
3085     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>3086     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
3087         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3088         unsafe {
3089             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3090             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
3091         }
3092     }
3093     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>3094     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
3095         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3096         unsafe {
3097             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3098             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
3099         }
3100     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>3101     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
3102         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3103         unsafe {
3104             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3105             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
3106         }
3107     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>3108     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
3109         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3110         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
3111     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>3112     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
3113         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3114         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
3115     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3116     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3117         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3118         unsafe {
3119             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3120             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3121         }
3122     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3123     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3124         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3125         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3126     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>3127     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
3128         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3129         unsafe {
3130             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3131             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
3132         }
3133     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>3134     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3135         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3136         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3137     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3138     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3139         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3140         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3141     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3142     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3143         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3144         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3145     }
3146     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>3147     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
3148         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
3149         unsafe {
3150             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3151             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
3152         }
3153     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>3154     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
3155         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
3156         unsafe {
3157             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3158             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
3159         }
3160     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>3161     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
3162         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
3163         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
3164     }
IInteractionTrackerInertiaNaturalMotionStatics<R, F: FnOnce(&IInteractionTrackerInertiaNaturalMotionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3165     pub fn IInteractionTrackerInertiaNaturalMotionStatics<R, F: FnOnce(&IInteractionTrackerInertiaNaturalMotionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3166         static mut SHARED: ::windows::runtime::FactoryCache<InteractionTrackerInertiaNaturalMotion, IInteractionTrackerInertiaNaturalMotionStatics> = ::windows::runtime::FactoryCache::new();
3167         unsafe { SHARED.call(callback) }
3168     }
3169 }
3170 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerInertiaNaturalMotion {
3171     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerInertiaNaturalMotion;{70acdaae-27dc-48ed-a3c3-6d61c9a029d2})");
3172 }
3173 unsafe impl ::windows::runtime::Interface for InteractionTrackerInertiaNaturalMotion {
3174     type Vtable = IInteractionTrackerInertiaNaturalMotion_abi;
3175     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1890376366, 10204, 18669, [163, 195, 109, 97, 201, 160, 41, 210]);
3176 }
3177 impl ::windows::runtime::RuntimeName for InteractionTrackerInertiaNaturalMotion {
3178     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerInertiaNaturalMotion";
3179 }
3180 impl ::std::convert::From<InteractionTrackerInertiaNaturalMotion> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerInertiaNaturalMotion) -> Self3181     fn from(value: InteractionTrackerInertiaNaturalMotion) -> Self {
3182         unsafe { ::std::mem::transmute(value) }
3183     }
3184 }
3185 impl ::std::convert::From<&InteractionTrackerInertiaNaturalMotion> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerInertiaNaturalMotion) -> Self3186     fn from(value: &InteractionTrackerInertiaNaturalMotion) -> Self {
3187         ::std::convert::From::from(::std::clone::Clone::clone(value))
3188     }
3189 }
3190 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3191     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3192         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3193     }
3194 }
3195 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3196     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3197         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3198     }
3199 }
3200 impl ::std::convert::From<InteractionTrackerInertiaNaturalMotion> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerInertiaNaturalMotion) -> Self3201     fn from(value: InteractionTrackerInertiaNaturalMotion) -> Self {
3202         value.0
3203     }
3204 }
3205 impl ::std::convert::From<&InteractionTrackerInertiaNaturalMotion> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerInertiaNaturalMotion) -> Self3206     fn from(value: &InteractionTrackerInertiaNaturalMotion) -> Self {
3207         value.0.clone()
3208     }
3209 }
3210 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3211     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3212         ::windows::runtime::Param::Owned(self.0)
3213     }
3214 }
3215 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3216     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3217         ::windows::runtime::Param::Borrowed(&self.0)
3218     }
3219 }
3220 #[cfg(feature = "Foundation")]
3221 impl ::std::convert::TryFrom<InteractionTrackerInertiaNaturalMotion> for super::super::super::Foundation::IClosable {
3222     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerInertiaNaturalMotion) -> ::windows::runtime::Result<Self>3223     fn try_from(value: InteractionTrackerInertiaNaturalMotion) -> ::windows::runtime::Result<Self> {
3224         ::std::convert::TryFrom::try_from(&value)
3225     }
3226 }
3227 #[cfg(feature = "Foundation")]
3228 impl ::std::convert::TryFrom<&InteractionTrackerInertiaNaturalMotion> for super::super::super::Foundation::IClosable {
3229     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerInertiaNaturalMotion) -> ::windows::runtime::Result<Self>3230     fn try_from(value: &InteractionTrackerInertiaNaturalMotion) -> ::windows::runtime::Result<Self> {
3231         ::windows::runtime::Interface::cast(value)
3232     }
3233 }
3234 #[cfg(feature = "Foundation")]
3235 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>3236     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
3237         ::windows::runtime::IntoParam::into_param(&self)
3238     }
3239 }
3240 #[cfg(feature = "Foundation")]
3241 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>3242     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
3243         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3244     }
3245 }
3246 impl ::std::convert::TryFrom<InteractionTrackerInertiaNaturalMotion> for super::IAnimationObject {
3247     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerInertiaNaturalMotion) -> ::windows::runtime::Result<Self>3248     fn try_from(value: InteractionTrackerInertiaNaturalMotion) -> ::windows::runtime::Result<Self> {
3249         ::std::convert::TryFrom::try_from(&value)
3250     }
3251 }
3252 impl ::std::convert::TryFrom<&InteractionTrackerInertiaNaturalMotion> for super::IAnimationObject {
3253     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerInertiaNaturalMotion) -> ::windows::runtime::Result<Self>3254     fn try_from(value: &InteractionTrackerInertiaNaturalMotion) -> ::windows::runtime::Result<Self> {
3255         ::windows::runtime::Interface::cast(value)
3256     }
3257 }
3258 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>3259     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
3260         ::windows::runtime::IntoParam::into_param(&self)
3261     }
3262 }
3263 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>3264     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
3265         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3266     }
3267 }
3268 impl ::std::convert::From<InteractionTrackerInertiaNaturalMotion> for InteractionTrackerInertiaModifier {
from(value: InteractionTrackerInertiaNaturalMotion) -> Self3269     fn from(value: InteractionTrackerInertiaNaturalMotion) -> Self {
3270         ::std::convert::Into::<InteractionTrackerInertiaModifier>::into(&value)
3271     }
3272 }
3273 impl ::std::convert::From<&InteractionTrackerInertiaNaturalMotion> for InteractionTrackerInertiaModifier {
from(value: &InteractionTrackerInertiaNaturalMotion) -> Self3274     fn from(value: &InteractionTrackerInertiaNaturalMotion) -> Self {
3275         ::windows::runtime::Interface::cast(value).unwrap()
3276     }
3277 }
3278 impl<'a> ::windows::runtime::IntoParam<'a, InteractionTrackerInertiaModifier> for InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier>3279     fn into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier> {
3280         ::windows::runtime::Param::Owned(::std::convert::Into::<InteractionTrackerInertiaModifier>::into(self))
3281     }
3282 }
3283 impl<'a> ::windows::runtime::IntoParam<'a, InteractionTrackerInertiaModifier> for &InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier>3284     fn into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier> {
3285         ::windows::runtime::Param::Owned(::std::convert::Into::<InteractionTrackerInertiaModifier>::into(::std::clone::Clone::clone(self)))
3286     }
3287 }
3288 impl ::std::convert::From<InteractionTrackerInertiaNaturalMotion> for super::CompositionObject {
from(value: InteractionTrackerInertiaNaturalMotion) -> Self3289     fn from(value: InteractionTrackerInertiaNaturalMotion) -> Self {
3290         ::std::convert::Into::<super::CompositionObject>::into(&value)
3291     }
3292 }
3293 impl ::std::convert::From<&InteractionTrackerInertiaNaturalMotion> for super::CompositionObject {
from(value: &InteractionTrackerInertiaNaturalMotion) -> Self3294     fn from(value: &InteractionTrackerInertiaNaturalMotion) -> Self {
3295         ::windows::runtime::Interface::cast(value).unwrap()
3296     }
3297 }
3298 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>3299     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
3300         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
3301     }
3302 }
3303 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &InteractionTrackerInertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>3304     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
3305         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
3306     }
3307 }
3308 unsafe impl ::std::marker::Send for InteractionTrackerInertiaNaturalMotion {}
3309 unsafe impl ::std::marker::Sync for InteractionTrackerInertiaNaturalMotion {}
3310 #[repr(transparent)]
3311 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3312 pub struct InteractionTrackerInertiaRestingValue(::windows::runtime::IInspectable);
3313 impl InteractionTrackerInertiaRestingValue {
Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation>3314     pub fn Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation> {
3315         let this = self;
3316         unsafe {
3317             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3318             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ExpressionAnimation>(result__)
3319         }
3320     }
SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>3321     pub fn SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3322         let this = self;
3323         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3324     }
RestingValue(&self) -> ::windows::runtime::Result<super::ExpressionAnimation>3325     pub fn RestingValue(&self) -> ::windows::runtime::Result<super::ExpressionAnimation> {
3326         let this = self;
3327         unsafe {
3328             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3329             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ExpressionAnimation>(result__)
3330         }
3331     }
SetRestingValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>3332     pub fn SetRestingValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3333         let this = self;
3334         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3335     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTrackerInertiaRestingValue>3336     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTrackerInertiaRestingValue> {
3337         Self::IInteractionTrackerInertiaRestingValueStatics(|this| unsafe {
3338             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3339             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), compositor.into_param().abi(), &mut result__).from_abi::<InteractionTrackerInertiaRestingValue>(result__)
3340         })
3341     }
3342     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>3343     pub fn Close(&self) -> ::windows::runtime::Result<()> {
3344         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
3345         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
3346     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>3347     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
3348         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3349         unsafe {
3350             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3351             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
3352         }
3353     }
3354     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>3355     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
3356         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3357         unsafe {
3358             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3359             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
3360         }
3361     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>3362     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
3363         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3364         unsafe {
3365             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3366             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
3367         }
3368     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>3369     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
3370         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3371         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
3372     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>3373     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
3374         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3375         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
3376     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3377     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3378         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3379         unsafe {
3380             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3381             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3382         }
3383     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3384     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3385         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3386         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3387     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>3388     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
3389         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3390         unsafe {
3391             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3392             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
3393         }
3394     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>3395     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3396         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3397         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3398     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3399     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3400         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3401         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3402     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3403     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3404         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3405         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3406     }
3407     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>3408     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
3409         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
3410         unsafe {
3411             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3412             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
3413         }
3414     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>3415     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
3416         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
3417         unsafe {
3418             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3419             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
3420         }
3421     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>3422     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
3423         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
3424         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
3425     }
IInteractionTrackerInertiaRestingValueStatics<R, F: FnOnce(&IInteractionTrackerInertiaRestingValueStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3426     pub fn IInteractionTrackerInertiaRestingValueStatics<R, F: FnOnce(&IInteractionTrackerInertiaRestingValueStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3427         static mut SHARED: ::windows::runtime::FactoryCache<InteractionTrackerInertiaRestingValue, IInteractionTrackerInertiaRestingValueStatics> = ::windows::runtime::FactoryCache::new();
3428         unsafe { SHARED.call(callback) }
3429     }
3430 }
3431 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerInertiaRestingValue {
3432     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerInertiaRestingValue;{86f7ec09-5096-4170-9cc8-df2fe101bb93})");
3433 }
3434 unsafe impl ::windows::runtime::Interface for InteractionTrackerInertiaRestingValue {
3435     type Vtable = IInteractionTrackerInertiaRestingValue_abi;
3436     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2264394761, 20630, 16752, [156, 200, 223, 47, 225, 1, 187, 147]);
3437 }
3438 impl ::windows::runtime::RuntimeName for InteractionTrackerInertiaRestingValue {
3439     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerInertiaRestingValue";
3440 }
3441 impl ::std::convert::From<InteractionTrackerInertiaRestingValue> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerInertiaRestingValue) -> Self3442     fn from(value: InteractionTrackerInertiaRestingValue) -> Self {
3443         unsafe { ::std::mem::transmute(value) }
3444     }
3445 }
3446 impl ::std::convert::From<&InteractionTrackerInertiaRestingValue> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerInertiaRestingValue) -> Self3447     fn from(value: &InteractionTrackerInertiaRestingValue) -> Self {
3448         ::std::convert::From::from(::std::clone::Clone::clone(value))
3449     }
3450 }
3451 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3452     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3453         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3454     }
3455 }
3456 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3457     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3458         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3459     }
3460 }
3461 impl ::std::convert::From<InteractionTrackerInertiaRestingValue> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerInertiaRestingValue) -> Self3462     fn from(value: InteractionTrackerInertiaRestingValue) -> Self {
3463         value.0
3464     }
3465 }
3466 impl ::std::convert::From<&InteractionTrackerInertiaRestingValue> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerInertiaRestingValue) -> Self3467     fn from(value: &InteractionTrackerInertiaRestingValue) -> Self {
3468         value.0.clone()
3469     }
3470 }
3471 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3472     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3473         ::windows::runtime::Param::Owned(self.0)
3474     }
3475 }
3476 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3477     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3478         ::windows::runtime::Param::Borrowed(&self.0)
3479     }
3480 }
3481 #[cfg(feature = "Foundation")]
3482 impl ::std::convert::TryFrom<InteractionTrackerInertiaRestingValue> for super::super::super::Foundation::IClosable {
3483     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerInertiaRestingValue) -> ::windows::runtime::Result<Self>3484     fn try_from(value: InteractionTrackerInertiaRestingValue) -> ::windows::runtime::Result<Self> {
3485         ::std::convert::TryFrom::try_from(&value)
3486     }
3487 }
3488 #[cfg(feature = "Foundation")]
3489 impl ::std::convert::TryFrom<&InteractionTrackerInertiaRestingValue> for super::super::super::Foundation::IClosable {
3490     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerInertiaRestingValue) -> ::windows::runtime::Result<Self>3491     fn try_from(value: &InteractionTrackerInertiaRestingValue) -> ::windows::runtime::Result<Self> {
3492         ::windows::runtime::Interface::cast(value)
3493     }
3494 }
3495 #[cfg(feature = "Foundation")]
3496 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>3497     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
3498         ::windows::runtime::IntoParam::into_param(&self)
3499     }
3500 }
3501 #[cfg(feature = "Foundation")]
3502 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>3503     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
3504         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3505     }
3506 }
3507 impl ::std::convert::TryFrom<InteractionTrackerInertiaRestingValue> for super::IAnimationObject {
3508     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerInertiaRestingValue) -> ::windows::runtime::Result<Self>3509     fn try_from(value: InteractionTrackerInertiaRestingValue) -> ::windows::runtime::Result<Self> {
3510         ::std::convert::TryFrom::try_from(&value)
3511     }
3512 }
3513 impl ::std::convert::TryFrom<&InteractionTrackerInertiaRestingValue> for super::IAnimationObject {
3514     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerInertiaRestingValue) -> ::windows::runtime::Result<Self>3515     fn try_from(value: &InteractionTrackerInertiaRestingValue) -> ::windows::runtime::Result<Self> {
3516         ::windows::runtime::Interface::cast(value)
3517     }
3518 }
3519 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>3520     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
3521         ::windows::runtime::IntoParam::into_param(&self)
3522     }
3523 }
3524 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>3525     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
3526         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3527     }
3528 }
3529 impl ::std::convert::From<InteractionTrackerInertiaRestingValue> for InteractionTrackerInertiaModifier {
from(value: InteractionTrackerInertiaRestingValue) -> Self3530     fn from(value: InteractionTrackerInertiaRestingValue) -> Self {
3531         ::std::convert::Into::<InteractionTrackerInertiaModifier>::into(&value)
3532     }
3533 }
3534 impl ::std::convert::From<&InteractionTrackerInertiaRestingValue> for InteractionTrackerInertiaModifier {
from(value: &InteractionTrackerInertiaRestingValue) -> Self3535     fn from(value: &InteractionTrackerInertiaRestingValue) -> Self {
3536         ::windows::runtime::Interface::cast(value).unwrap()
3537     }
3538 }
3539 impl<'a> ::windows::runtime::IntoParam<'a, InteractionTrackerInertiaModifier> for InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier>3540     fn into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier> {
3541         ::windows::runtime::Param::Owned(::std::convert::Into::<InteractionTrackerInertiaModifier>::into(self))
3542     }
3543 }
3544 impl<'a> ::windows::runtime::IntoParam<'a, InteractionTrackerInertiaModifier> for &InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier>3545     fn into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerInertiaModifier> {
3546         ::windows::runtime::Param::Owned(::std::convert::Into::<InteractionTrackerInertiaModifier>::into(::std::clone::Clone::clone(self)))
3547     }
3548 }
3549 impl ::std::convert::From<InteractionTrackerInertiaRestingValue> for super::CompositionObject {
from(value: InteractionTrackerInertiaRestingValue) -> Self3550     fn from(value: InteractionTrackerInertiaRestingValue) -> Self {
3551         ::std::convert::Into::<super::CompositionObject>::into(&value)
3552     }
3553 }
3554 impl ::std::convert::From<&InteractionTrackerInertiaRestingValue> for super::CompositionObject {
from(value: &InteractionTrackerInertiaRestingValue) -> Self3555     fn from(value: &InteractionTrackerInertiaRestingValue) -> Self {
3556         ::windows::runtime::Interface::cast(value).unwrap()
3557     }
3558 }
3559 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>3560     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
3561         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
3562     }
3563 }
3564 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &InteractionTrackerInertiaRestingValue {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>3565     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
3566         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
3567     }
3568 }
3569 unsafe impl ::std::marker::Send for InteractionTrackerInertiaRestingValue {}
3570 unsafe impl ::std::marker::Sync for InteractionTrackerInertiaRestingValue {}
3571 #[repr(transparent)]
3572 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3573 pub struct InteractionTrackerInertiaStateEnteredArgs(::windows::runtime::IInspectable);
3574 impl InteractionTrackerInertiaStateEnteredArgs {
3575     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
ModifiedRestingPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::IReference<super::super::super::Foundation::Numerics::Vector3>>3576     pub fn ModifiedRestingPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::IReference<super::super::super::Foundation::Numerics::Vector3>> {
3577         let this = self;
3578         unsafe {
3579             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3580             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::IReference<super::super::super::Foundation::Numerics::Vector3>>(result__)
3581         }
3582     }
3583     #[cfg(feature = "Foundation")]
ModifiedRestingScale(&self) -> ::windows::runtime::Result<super::super::super::Foundation::IReference<f32>>3584     pub fn ModifiedRestingScale(&self) -> ::windows::runtime::Result<super::super::super::Foundation::IReference<f32>> {
3585         let this = self;
3586         unsafe {
3587             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3588             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::IReference<f32>>(result__)
3589         }
3590     }
3591     #[cfg(feature = "Foundation_Numerics")]
NaturalRestingPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>3592     pub fn NaturalRestingPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
3593         let this = self;
3594         unsafe {
3595             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
3596             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
3597         }
3598     }
NaturalRestingScale(&self) -> ::windows::runtime::Result<f32>3599     pub fn NaturalRestingScale(&self) -> ::windows::runtime::Result<f32> {
3600         let this = self;
3601         unsafe {
3602             let mut result__: f32 = ::std::mem::zeroed();
3603             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
3604         }
3605     }
3606     #[cfg(feature = "Foundation_Numerics")]
PositionVelocityInPixelsPerSecond(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>3607     pub fn PositionVelocityInPixelsPerSecond(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
3608         let this = self;
3609         unsafe {
3610             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
3611             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
3612         }
3613     }
RequestId(&self) -> ::windows::runtime::Result<i32>3614     pub fn RequestId(&self) -> ::windows::runtime::Result<i32> {
3615         let this = self;
3616         unsafe {
3617             let mut result__: i32 = ::std::mem::zeroed();
3618             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3619         }
3620     }
ScaleVelocityInPercentPerSecond(&self) -> ::windows::runtime::Result<f32>3621     pub fn ScaleVelocityInPercentPerSecond(&self) -> ::windows::runtime::Result<f32> {
3622         let this = self;
3623         unsafe {
3624             let mut result__: f32 = ::std::mem::zeroed();
3625             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
3626         }
3627     }
IsInertiaFromImpulse(&self) -> ::windows::runtime::Result<bool>3628     pub fn IsInertiaFromImpulse(&self) -> ::windows::runtime::Result<bool> {
3629         let this = &::windows::runtime::Interface::cast::<IInteractionTrackerInertiaStateEnteredArgs2>(self)?;
3630         unsafe {
3631             let mut result__: bool = ::std::mem::zeroed();
3632             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3633         }
3634     }
IsFromBinding(&self) -> ::windows::runtime::Result<bool>3635     pub fn IsFromBinding(&self) -> ::windows::runtime::Result<bool> {
3636         let this = &::windows::runtime::Interface::cast::<IInteractionTrackerInertiaStateEnteredArgs3>(self)?;
3637         unsafe {
3638             let mut result__: bool = ::std::mem::zeroed();
3639             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3640         }
3641     }
3642 }
3643 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerInertiaStateEnteredArgs {
3644     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerInertiaStateEnteredArgs;{87108cf2-e7ff-4f7d-9ffd-d72f1e409b63})");
3645 }
3646 unsafe impl ::windows::runtime::Interface for InteractionTrackerInertiaStateEnteredArgs {
3647     type Vtable = IInteractionTrackerInertiaStateEnteredArgs_abi;
3648     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2266008818, 59391, 20349, [159, 253, 215, 47, 30, 64, 155, 99]);
3649 }
3650 impl ::windows::runtime::RuntimeName for InteractionTrackerInertiaStateEnteredArgs {
3651     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerInertiaStateEnteredArgs";
3652 }
3653 impl ::std::convert::From<InteractionTrackerInertiaStateEnteredArgs> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerInertiaStateEnteredArgs) -> Self3654     fn from(value: InteractionTrackerInertiaStateEnteredArgs) -> Self {
3655         unsafe { ::std::mem::transmute(value) }
3656     }
3657 }
3658 impl ::std::convert::From<&InteractionTrackerInertiaStateEnteredArgs> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerInertiaStateEnteredArgs) -> Self3659     fn from(value: &InteractionTrackerInertiaStateEnteredArgs) -> Self {
3660         ::std::convert::From::from(::std::clone::Clone::clone(value))
3661     }
3662 }
3663 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerInertiaStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3664     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3665         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3666     }
3667 }
3668 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerInertiaStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3669     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3670         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3671     }
3672 }
3673 impl ::std::convert::From<InteractionTrackerInertiaStateEnteredArgs> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerInertiaStateEnteredArgs) -> Self3674     fn from(value: InteractionTrackerInertiaStateEnteredArgs) -> Self {
3675         value.0
3676     }
3677 }
3678 impl ::std::convert::From<&InteractionTrackerInertiaStateEnteredArgs> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerInertiaStateEnteredArgs) -> Self3679     fn from(value: &InteractionTrackerInertiaStateEnteredArgs) -> Self {
3680         value.0.clone()
3681     }
3682 }
3683 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerInertiaStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3684     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3685         ::windows::runtime::Param::Owned(self.0)
3686     }
3687 }
3688 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerInertiaStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3689     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3690         ::windows::runtime::Param::Borrowed(&self.0)
3691     }
3692 }
3693 unsafe impl ::std::marker::Send for InteractionTrackerInertiaStateEnteredArgs {}
3694 unsafe impl ::std::marker::Sync for InteractionTrackerInertiaStateEnteredArgs {}
3695 #[repr(transparent)]
3696 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3697 pub struct InteractionTrackerInteractingStateEnteredArgs(::windows::runtime::IInspectable);
3698 impl InteractionTrackerInteractingStateEnteredArgs {
RequestId(&self) -> ::windows::runtime::Result<i32>3699     pub fn RequestId(&self) -> ::windows::runtime::Result<i32> {
3700         let this = self;
3701         unsafe {
3702             let mut result__: i32 = ::std::mem::zeroed();
3703             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3704         }
3705     }
IsFromBinding(&self) -> ::windows::runtime::Result<bool>3706     pub fn IsFromBinding(&self) -> ::windows::runtime::Result<bool> {
3707         let this = &::windows::runtime::Interface::cast::<IInteractionTrackerInteractingStateEnteredArgs2>(self)?;
3708         unsafe {
3709             let mut result__: bool = ::std::mem::zeroed();
3710             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3711         }
3712     }
3713 }
3714 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerInteractingStateEnteredArgs {
3715     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerInteractingStateEnteredArgs;{a7263939-a17b-4011-99fd-b5c24f143748})");
3716 }
3717 unsafe impl ::windows::runtime::Interface for InteractionTrackerInteractingStateEnteredArgs {
3718     type Vtable = IInteractionTrackerInteractingStateEnteredArgs_abi;
3719     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2804300089, 41339, 16401, [153, 253, 181, 194, 79, 20, 55, 72]);
3720 }
3721 impl ::windows::runtime::RuntimeName for InteractionTrackerInteractingStateEnteredArgs {
3722     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerInteractingStateEnteredArgs";
3723 }
3724 impl ::std::convert::From<InteractionTrackerInteractingStateEnteredArgs> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerInteractingStateEnteredArgs) -> Self3725     fn from(value: InteractionTrackerInteractingStateEnteredArgs) -> Self {
3726         unsafe { ::std::mem::transmute(value) }
3727     }
3728 }
3729 impl ::std::convert::From<&InteractionTrackerInteractingStateEnteredArgs> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerInteractingStateEnteredArgs) -> Self3730     fn from(value: &InteractionTrackerInteractingStateEnteredArgs) -> Self {
3731         ::std::convert::From::from(::std::clone::Clone::clone(value))
3732     }
3733 }
3734 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerInteractingStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3735     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3736         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3737     }
3738 }
3739 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerInteractingStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3740     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3741         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3742     }
3743 }
3744 impl ::std::convert::From<InteractionTrackerInteractingStateEnteredArgs> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerInteractingStateEnteredArgs) -> Self3745     fn from(value: InteractionTrackerInteractingStateEnteredArgs) -> Self {
3746         value.0
3747     }
3748 }
3749 impl ::std::convert::From<&InteractionTrackerInteractingStateEnteredArgs> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerInteractingStateEnteredArgs) -> Self3750     fn from(value: &InteractionTrackerInteractingStateEnteredArgs) -> Self {
3751         value.0.clone()
3752     }
3753 }
3754 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerInteractingStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3755     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3756         ::windows::runtime::Param::Owned(self.0)
3757     }
3758 }
3759 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerInteractingStateEnteredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3760     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3761         ::windows::runtime::Param::Borrowed(&self.0)
3762     }
3763 }
3764 unsafe impl ::std::marker::Send for InteractionTrackerInteractingStateEnteredArgs {}
3765 unsafe impl ::std::marker::Sync for InteractionTrackerInteractingStateEnteredArgs {}
3766 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3767 #[repr(transparent)]
3768 pub struct InteractionTrackerPositionUpdateOption(pub i32);
3769 impl InteractionTrackerPositionUpdateOption {
3770     pub const Default: InteractionTrackerPositionUpdateOption = InteractionTrackerPositionUpdateOption(0i32);
3771     pub const AllowActiveCustomScaleAnimation: InteractionTrackerPositionUpdateOption = InteractionTrackerPositionUpdateOption(1i32);
3772 }
3773 impl ::std::convert::From<i32> for InteractionTrackerPositionUpdateOption {
from(value: i32) -> Self3774     fn from(value: i32) -> Self {
3775         Self(value)
3776     }
3777 }
3778 unsafe impl ::windows::runtime::Abi for InteractionTrackerPositionUpdateOption {
3779     type Abi = Self;
3780     type DefaultType = Self;
3781 }
3782 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerPositionUpdateOption {
3783     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.Interactions.InteractionTrackerPositionUpdateOption;i4)");
3784 }
3785 #[repr(transparent)]
3786 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3787 pub struct InteractionTrackerRequestIgnoredArgs(::windows::runtime::IInspectable);
3788 impl InteractionTrackerRequestIgnoredArgs {
RequestId(&self) -> ::windows::runtime::Result<i32>3789     pub fn RequestId(&self) -> ::windows::runtime::Result<i32> {
3790         let this = self;
3791         unsafe {
3792             let mut result__: i32 = ::std::mem::zeroed();
3793             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3794         }
3795     }
3796 }
3797 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerRequestIgnoredArgs {
3798     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerRequestIgnoredArgs;{80dd82f1-ce25-488f-91dd-cb6455ccff2e})");
3799 }
3800 unsafe impl ::windows::runtime::Interface for InteractionTrackerRequestIgnoredArgs {
3801     type Vtable = IInteractionTrackerRequestIgnoredArgs_abi;
3802     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2162000625, 52773, 18575, [145, 221, 203, 100, 85, 204, 255, 46]);
3803 }
3804 impl ::windows::runtime::RuntimeName for InteractionTrackerRequestIgnoredArgs {
3805     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerRequestIgnoredArgs";
3806 }
3807 impl ::std::convert::From<InteractionTrackerRequestIgnoredArgs> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerRequestIgnoredArgs) -> Self3808     fn from(value: InteractionTrackerRequestIgnoredArgs) -> Self {
3809         unsafe { ::std::mem::transmute(value) }
3810     }
3811 }
3812 impl ::std::convert::From<&InteractionTrackerRequestIgnoredArgs> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerRequestIgnoredArgs) -> Self3813     fn from(value: &InteractionTrackerRequestIgnoredArgs) -> Self {
3814         ::std::convert::From::from(::std::clone::Clone::clone(value))
3815     }
3816 }
3817 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerRequestIgnoredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3818     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3819         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3820     }
3821 }
3822 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerRequestIgnoredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3823     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3824         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3825     }
3826 }
3827 impl ::std::convert::From<InteractionTrackerRequestIgnoredArgs> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerRequestIgnoredArgs) -> Self3828     fn from(value: InteractionTrackerRequestIgnoredArgs) -> Self {
3829         value.0
3830     }
3831 }
3832 impl ::std::convert::From<&InteractionTrackerRequestIgnoredArgs> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerRequestIgnoredArgs) -> Self3833     fn from(value: &InteractionTrackerRequestIgnoredArgs) -> Self {
3834         value.0.clone()
3835     }
3836 }
3837 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerRequestIgnoredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3838     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3839         ::windows::runtime::Param::Owned(self.0)
3840     }
3841 }
3842 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerRequestIgnoredArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3843     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3844         ::windows::runtime::Param::Borrowed(&self.0)
3845     }
3846 }
3847 unsafe impl ::std::marker::Send for InteractionTrackerRequestIgnoredArgs {}
3848 unsafe impl ::std::marker::Sync for InteractionTrackerRequestIgnoredArgs {}
3849 #[repr(transparent)]
3850 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3851 pub struct InteractionTrackerValuesChangedArgs(::windows::runtime::IInspectable);
3852 impl InteractionTrackerValuesChangedArgs {
3853     #[cfg(feature = "Foundation_Numerics")]
Position(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>3854     pub fn Position(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
3855         let this = self;
3856         unsafe {
3857             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
3858             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
3859         }
3860     }
RequestId(&self) -> ::windows::runtime::Result<i32>3861     pub fn RequestId(&self) -> ::windows::runtime::Result<i32> {
3862         let this = self;
3863         unsafe {
3864             let mut result__: i32 = ::std::mem::zeroed();
3865             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3866         }
3867     }
Scale(&self) -> ::windows::runtime::Result<f32>3868     pub fn Scale(&self) -> ::windows::runtime::Result<f32> {
3869         let this = self;
3870         unsafe {
3871             let mut result__: f32 = ::std::mem::zeroed();
3872             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
3873         }
3874     }
3875 }
3876 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerValuesChangedArgs {
3877     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerValuesChangedArgs;{cf1578ef-d3df-4501-b9e6-f02fb22f73d0})");
3878 }
3879 unsafe impl ::windows::runtime::Interface for InteractionTrackerValuesChangedArgs {
3880     type Vtable = IInteractionTrackerValuesChangedArgs_abi;
3881     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3474290927, 54239, 17665, [185, 230, 240, 47, 178, 47, 115, 208]);
3882 }
3883 impl ::windows::runtime::RuntimeName for InteractionTrackerValuesChangedArgs {
3884     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerValuesChangedArgs";
3885 }
3886 impl ::std::convert::From<InteractionTrackerValuesChangedArgs> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerValuesChangedArgs) -> Self3887     fn from(value: InteractionTrackerValuesChangedArgs) -> Self {
3888         unsafe { ::std::mem::transmute(value) }
3889     }
3890 }
3891 impl ::std::convert::From<&InteractionTrackerValuesChangedArgs> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerValuesChangedArgs) -> Self3892     fn from(value: &InteractionTrackerValuesChangedArgs) -> Self {
3893         ::std::convert::From::from(::std::clone::Clone::clone(value))
3894     }
3895 }
3896 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerValuesChangedArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3897     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3898         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3899     }
3900 }
3901 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerValuesChangedArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3902     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3903         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3904     }
3905 }
3906 impl ::std::convert::From<InteractionTrackerValuesChangedArgs> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerValuesChangedArgs) -> Self3907     fn from(value: InteractionTrackerValuesChangedArgs) -> Self {
3908         value.0
3909     }
3910 }
3911 impl ::std::convert::From<&InteractionTrackerValuesChangedArgs> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerValuesChangedArgs) -> Self3912     fn from(value: &InteractionTrackerValuesChangedArgs) -> Self {
3913         value.0.clone()
3914     }
3915 }
3916 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerValuesChangedArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3917     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3918         ::windows::runtime::Param::Owned(self.0)
3919     }
3920 }
3921 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerValuesChangedArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3922     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3923         ::windows::runtime::Param::Borrowed(&self.0)
3924     }
3925 }
3926 unsafe impl ::std::marker::Send for InteractionTrackerValuesChangedArgs {}
3927 unsafe impl ::std::marker::Sync for InteractionTrackerValuesChangedArgs {}
3928 #[repr(transparent)]
3929 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3930 pub struct InteractionTrackerVector2InertiaModifier(::windows::runtime::IInspectable);
3931 impl InteractionTrackerVector2InertiaModifier {
3932     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>3933     pub fn Close(&self) -> ::windows::runtime::Result<()> {
3934         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
3935         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
3936     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>3937     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
3938         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3939         unsafe {
3940             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3941             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
3942         }
3943     }
3944     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>3945     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
3946         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3947         unsafe {
3948             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3949             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
3950         }
3951     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>3952     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
3953         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3954         unsafe {
3955             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3956             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
3957         }
3958     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>3959     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
3960         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3961         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
3962     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>3963     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
3964         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
3965         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
3966     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3967     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3968         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3969         unsafe {
3970             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3971             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3972         }
3973     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3974     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3975         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3976         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3977     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>3978     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
3979         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3980         unsafe {
3981             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3982             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
3983         }
3984     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>3985     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3986         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3987         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3988     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3989     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3990         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3991         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3992     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3993     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3994         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
3995         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3996     }
3997     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>3998     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
3999         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
4000         unsafe {
4001             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4002             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
4003         }
4004     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>4005     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
4006         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
4007         unsafe {
4008             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4009             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
4010         }
4011     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>4012     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
4013         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
4014         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
4015     }
4016 }
4017 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerVector2InertiaModifier {
4018     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaModifier;{87e08ab0-3086-4853-a4b7-77882ad5d7e3})");
4019 }
4020 unsafe impl ::windows::runtime::Interface for InteractionTrackerVector2InertiaModifier {
4021     type Vtable = IInteractionTrackerVector2InertiaModifier_abi;
4022     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2279639728, 12422, 18515, [164, 183, 119, 136, 42, 213, 215, 227]);
4023 }
4024 impl ::windows::runtime::RuntimeName for InteractionTrackerVector2InertiaModifier {
4025     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaModifier";
4026 }
4027 impl ::std::convert::From<InteractionTrackerVector2InertiaModifier> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerVector2InertiaModifier) -> Self4028     fn from(value: InteractionTrackerVector2InertiaModifier) -> Self {
4029         unsafe { ::std::mem::transmute(value) }
4030     }
4031 }
4032 impl ::std::convert::From<&InteractionTrackerVector2InertiaModifier> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerVector2InertiaModifier) -> Self4033     fn from(value: &InteractionTrackerVector2InertiaModifier) -> Self {
4034         ::std::convert::From::from(::std::clone::Clone::clone(value))
4035     }
4036 }
4037 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4038     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4039         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4040     }
4041 }
4042 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4043     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4044         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4045     }
4046 }
4047 impl ::std::convert::From<InteractionTrackerVector2InertiaModifier> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerVector2InertiaModifier) -> Self4048     fn from(value: InteractionTrackerVector2InertiaModifier) -> Self {
4049         value.0
4050     }
4051 }
4052 impl ::std::convert::From<&InteractionTrackerVector2InertiaModifier> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerVector2InertiaModifier) -> Self4053     fn from(value: &InteractionTrackerVector2InertiaModifier) -> Self {
4054         value.0.clone()
4055     }
4056 }
4057 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4058     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4059         ::windows::runtime::Param::Owned(self.0)
4060     }
4061 }
4062 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4063     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4064         ::windows::runtime::Param::Borrowed(&self.0)
4065     }
4066 }
4067 #[cfg(feature = "Foundation")]
4068 impl ::std::convert::TryFrom<InteractionTrackerVector2InertiaModifier> for super::super::super::Foundation::IClosable {
4069     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerVector2InertiaModifier) -> ::windows::runtime::Result<Self>4070     fn try_from(value: InteractionTrackerVector2InertiaModifier) -> ::windows::runtime::Result<Self> {
4071         ::std::convert::TryFrom::try_from(&value)
4072     }
4073 }
4074 #[cfg(feature = "Foundation")]
4075 impl ::std::convert::TryFrom<&InteractionTrackerVector2InertiaModifier> for super::super::super::Foundation::IClosable {
4076     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerVector2InertiaModifier) -> ::windows::runtime::Result<Self>4077     fn try_from(value: &InteractionTrackerVector2InertiaModifier) -> ::windows::runtime::Result<Self> {
4078         ::windows::runtime::Interface::cast(value)
4079     }
4080 }
4081 #[cfg(feature = "Foundation")]
4082 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>4083     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
4084         ::windows::runtime::IntoParam::into_param(&self)
4085     }
4086 }
4087 #[cfg(feature = "Foundation")]
4088 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>4089     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
4090         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4091     }
4092 }
4093 impl ::std::convert::TryFrom<InteractionTrackerVector2InertiaModifier> for super::IAnimationObject {
4094     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerVector2InertiaModifier) -> ::windows::runtime::Result<Self>4095     fn try_from(value: InteractionTrackerVector2InertiaModifier) -> ::windows::runtime::Result<Self> {
4096         ::std::convert::TryFrom::try_from(&value)
4097     }
4098 }
4099 impl ::std::convert::TryFrom<&InteractionTrackerVector2InertiaModifier> for super::IAnimationObject {
4100     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerVector2InertiaModifier) -> ::windows::runtime::Result<Self>4101     fn try_from(value: &InteractionTrackerVector2InertiaModifier) -> ::windows::runtime::Result<Self> {
4102         ::windows::runtime::Interface::cast(value)
4103     }
4104 }
4105 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>4106     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
4107         ::windows::runtime::IntoParam::into_param(&self)
4108     }
4109 }
4110 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>4111     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
4112         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4113     }
4114 }
4115 impl ::std::convert::From<InteractionTrackerVector2InertiaModifier> for super::CompositionObject {
from(value: InteractionTrackerVector2InertiaModifier) -> Self4116     fn from(value: InteractionTrackerVector2InertiaModifier) -> Self {
4117         ::std::convert::Into::<super::CompositionObject>::into(&value)
4118     }
4119 }
4120 impl ::std::convert::From<&InteractionTrackerVector2InertiaModifier> for super::CompositionObject {
from(value: &InteractionTrackerVector2InertiaModifier) -> Self4121     fn from(value: &InteractionTrackerVector2InertiaModifier) -> Self {
4122         ::windows::runtime::Interface::cast(value).unwrap()
4123     }
4124 }
4125 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>4126     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
4127         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
4128     }
4129 }
4130 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &InteractionTrackerVector2InertiaModifier {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>4131     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
4132         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
4133     }
4134 }
4135 unsafe impl ::std::marker::Send for InteractionTrackerVector2InertiaModifier {}
4136 unsafe impl ::std::marker::Sync for InteractionTrackerVector2InertiaModifier {}
4137 #[repr(transparent)]
4138 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4139 pub struct InteractionTrackerVector2InertiaNaturalMotion(::windows::runtime::IInspectable);
4140 impl InteractionTrackerVector2InertiaNaturalMotion {
Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation>4141     pub fn Condition(&self) -> ::windows::runtime::Result<super::ExpressionAnimation> {
4142         let this = self;
4143         unsafe {
4144             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4145             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ExpressionAnimation>(result__)
4146         }
4147     }
SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>4148     pub fn SetCondition<'a, Param0: ::windows::runtime::IntoParam<'a, super::ExpressionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4149         let this = self;
4150         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4151     }
NaturalMotion(&self) -> ::windows::runtime::Result<super::Vector2NaturalMotionAnimation>4152     pub fn NaturalMotion(&self) -> ::windows::runtime::Result<super::Vector2NaturalMotionAnimation> {
4153         let this = self;
4154         unsafe {
4155             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4156             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Vector2NaturalMotionAnimation>(result__)
4157         }
4158     }
SetNaturalMotion<'a, Param0: ::windows::runtime::IntoParam<'a, super::Vector2NaturalMotionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>4159     pub fn SetNaturalMotion<'a, Param0: ::windows::runtime::IntoParam<'a, super::Vector2NaturalMotionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4160         let this = self;
4161         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4162     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTrackerVector2InertiaNaturalMotion>4163     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Compositor>>(compositor: Param0) -> ::windows::runtime::Result<InteractionTrackerVector2InertiaNaturalMotion> {
4164         Self::IInteractionTrackerVector2InertiaNaturalMotionStatics(|this| unsafe {
4165             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4166             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), compositor.into_param().abi(), &mut result__).from_abi::<InteractionTrackerVector2InertiaNaturalMotion>(result__)
4167         })
4168     }
4169     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>4170     pub fn Close(&self) -> ::windows::runtime::Result<()> {
4171         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
4172         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4173     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>4174     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
4175         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4176         unsafe {
4177             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4178             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
4179         }
4180     }
4181     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>4182     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
4183         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4184         unsafe {
4185             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4186             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
4187         }
4188     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>4189     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
4190         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4191         unsafe {
4192             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4193             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
4194         }
4195     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>4196     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
4197         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4198         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
4199     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>4200     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
4201         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4202         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
4203     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4204     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4205         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4206         unsafe {
4207             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4208             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4209         }
4210     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4211     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4212         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4213         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4214     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>4215     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
4216         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4217         unsafe {
4218             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4219             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
4220         }
4221     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>4222     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4223         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4224         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4225     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4226     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4227         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4228         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4229     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4230     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4231         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4232         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4233     }
4234     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>4235     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
4236         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
4237         unsafe {
4238             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4239             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
4240         }
4241     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>4242     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
4243         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
4244         unsafe {
4245             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4246             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
4247         }
4248     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>4249     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
4250         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
4251         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
4252     }
IInteractionTrackerVector2InertiaNaturalMotionStatics<R, F: FnOnce(&IInteractionTrackerVector2InertiaNaturalMotionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4253     pub fn IInteractionTrackerVector2InertiaNaturalMotionStatics<R, F: FnOnce(&IInteractionTrackerVector2InertiaNaturalMotionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4254         static mut SHARED: ::windows::runtime::FactoryCache<InteractionTrackerVector2InertiaNaturalMotion, IInteractionTrackerVector2InertiaNaturalMotionStatics> = ::windows::runtime::FactoryCache::new();
4255         unsafe { SHARED.call(callback) }
4256     }
4257 }
4258 unsafe impl ::windows::runtime::RuntimeType for InteractionTrackerVector2InertiaNaturalMotion {
4259     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaNaturalMotion;{5f17695c-162d-4c07-9400-c282b28276ca})");
4260 }
4261 unsafe impl ::windows::runtime::Interface for InteractionTrackerVector2InertiaNaturalMotion {
4262     type Vtable = IInteractionTrackerVector2InertiaNaturalMotion_abi;
4263     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1595369820, 5677, 19463, [148, 0, 194, 130, 178, 130, 118, 202]);
4264 }
4265 impl ::windows::runtime::RuntimeName for InteractionTrackerVector2InertiaNaturalMotion {
4266     const NAME: &'static str = "Windows.UI.Composition.Interactions.InteractionTrackerVector2InertiaNaturalMotion";
4267 }
4268 impl ::std::convert::From<InteractionTrackerVector2InertiaNaturalMotion> for ::windows::runtime::IUnknown {
from(value: InteractionTrackerVector2InertiaNaturalMotion) -> Self4269     fn from(value: InteractionTrackerVector2InertiaNaturalMotion) -> Self {
4270         unsafe { ::std::mem::transmute(value) }
4271     }
4272 }
4273 impl ::std::convert::From<&InteractionTrackerVector2InertiaNaturalMotion> for ::windows::runtime::IUnknown {
from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> Self4274     fn from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> Self {
4275         ::std::convert::From::from(::std::clone::Clone::clone(value))
4276     }
4277 }
4278 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4279     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4280         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4281     }
4282 }
4283 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4284     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4285         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4286     }
4287 }
4288 impl ::std::convert::From<InteractionTrackerVector2InertiaNaturalMotion> for ::windows::runtime::IInspectable {
from(value: InteractionTrackerVector2InertiaNaturalMotion) -> Self4289     fn from(value: InteractionTrackerVector2InertiaNaturalMotion) -> Self {
4290         value.0
4291     }
4292 }
4293 impl ::std::convert::From<&InteractionTrackerVector2InertiaNaturalMotion> for ::windows::runtime::IInspectable {
from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> Self4294     fn from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> Self {
4295         value.0.clone()
4296     }
4297 }
4298 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4299     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4300         ::windows::runtime::Param::Owned(self.0)
4301     }
4302 }
4303 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4304     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4305         ::windows::runtime::Param::Borrowed(&self.0)
4306     }
4307 }
4308 #[cfg(feature = "Foundation")]
4309 impl ::std::convert::TryFrom<InteractionTrackerVector2InertiaNaturalMotion> for super::super::super::Foundation::IClosable {
4310     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerVector2InertiaNaturalMotion) -> ::windows::runtime::Result<Self>4311     fn try_from(value: InteractionTrackerVector2InertiaNaturalMotion) -> ::windows::runtime::Result<Self> {
4312         ::std::convert::TryFrom::try_from(&value)
4313     }
4314 }
4315 #[cfg(feature = "Foundation")]
4316 impl ::std::convert::TryFrom<&InteractionTrackerVector2InertiaNaturalMotion> for super::super::super::Foundation::IClosable {
4317     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> ::windows::runtime::Result<Self>4318     fn try_from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> ::windows::runtime::Result<Self> {
4319         ::windows::runtime::Interface::cast(value)
4320     }
4321 }
4322 #[cfg(feature = "Foundation")]
4323 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>4324     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
4325         ::windows::runtime::IntoParam::into_param(&self)
4326     }
4327 }
4328 #[cfg(feature = "Foundation")]
4329 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>4330     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
4331         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4332     }
4333 }
4334 impl ::std::convert::TryFrom<InteractionTrackerVector2InertiaNaturalMotion> for super::IAnimationObject {
4335     type Error = ::windows::runtime::Error;
try_from(value: InteractionTrackerVector2InertiaNaturalMotion) -> ::windows::runtime::Result<Self>4336     fn try_from(value: InteractionTrackerVector2InertiaNaturalMotion) -> ::windows::runtime::Result<Self> {
4337         ::std::convert::TryFrom::try_from(&value)
4338     }
4339 }
4340 impl ::std::convert::TryFrom<&InteractionTrackerVector2InertiaNaturalMotion> for super::IAnimationObject {
4341     type Error = ::windows::runtime::Error;
try_from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> ::windows::runtime::Result<Self>4342     fn try_from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> ::windows::runtime::Result<Self> {
4343         ::windows::runtime::Interface::cast(value)
4344     }
4345 }
4346 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>4347     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
4348         ::windows::runtime::IntoParam::into_param(&self)
4349     }
4350 }
4351 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>4352     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
4353         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4354     }
4355 }
4356 impl ::std::convert::From<InteractionTrackerVector2InertiaNaturalMotion> for InteractionTrackerVector2InertiaModifier {
from(value: InteractionTrackerVector2InertiaNaturalMotion) -> Self4357     fn from(value: InteractionTrackerVector2InertiaNaturalMotion) -> Self {
4358         ::std::convert::Into::<InteractionTrackerVector2InertiaModifier>::into(&value)
4359     }
4360 }
4361 impl ::std::convert::From<&InteractionTrackerVector2InertiaNaturalMotion> for InteractionTrackerVector2InertiaModifier {
from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> Self4362     fn from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> Self {
4363         ::windows::runtime::Interface::cast(value).unwrap()
4364     }
4365 }
4366 impl<'a> ::windows::runtime::IntoParam<'a, InteractionTrackerVector2InertiaModifier> for InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerVector2InertiaModifier>4367     fn into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerVector2InertiaModifier> {
4368         ::windows::runtime::Param::Owned(::std::convert::Into::<InteractionTrackerVector2InertiaModifier>::into(self))
4369     }
4370 }
4371 impl<'a> ::windows::runtime::IntoParam<'a, InteractionTrackerVector2InertiaModifier> for &InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerVector2InertiaModifier>4372     fn into_param(self) -> ::windows::runtime::Param<'a, InteractionTrackerVector2InertiaModifier> {
4373         ::windows::runtime::Param::Owned(::std::convert::Into::<InteractionTrackerVector2InertiaModifier>::into(::std::clone::Clone::clone(self)))
4374     }
4375 }
4376 impl ::std::convert::From<InteractionTrackerVector2InertiaNaturalMotion> for super::CompositionObject {
from(value: InteractionTrackerVector2InertiaNaturalMotion) -> Self4377     fn from(value: InteractionTrackerVector2InertiaNaturalMotion) -> Self {
4378         ::std::convert::Into::<super::CompositionObject>::into(&value)
4379     }
4380 }
4381 impl ::std::convert::From<&InteractionTrackerVector2InertiaNaturalMotion> for super::CompositionObject {
from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> Self4382     fn from(value: &InteractionTrackerVector2InertiaNaturalMotion) -> Self {
4383         ::windows::runtime::Interface::cast(value).unwrap()
4384     }
4385 }
4386 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>4387     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
4388         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
4389     }
4390 }
4391 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &InteractionTrackerVector2InertiaNaturalMotion {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>4392     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
4393         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
4394     }
4395 }
4396 unsafe impl ::std::marker::Send for InteractionTrackerVector2InertiaNaturalMotion {}
4397 unsafe impl ::std::marker::Sync for InteractionTrackerVector2InertiaNaturalMotion {}
4398 #[repr(transparent)]
4399 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4400 pub struct VisualInteractionSource(::windows::runtime::IInspectable);
4401 impl VisualInteractionSource {
IsPositionXRailsEnabled(&self) -> ::windows::runtime::Result<bool>4402     pub fn IsPositionXRailsEnabled(&self) -> ::windows::runtime::Result<bool> {
4403         let this = self;
4404         unsafe {
4405             let mut result__: bool = ::std::mem::zeroed();
4406             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4407         }
4408     }
SetIsPositionXRailsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>4409     pub fn SetIsPositionXRailsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
4410         let this = self;
4411         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
4412     }
IsPositionYRailsEnabled(&self) -> ::windows::runtime::Result<bool>4413     pub fn IsPositionYRailsEnabled(&self) -> ::windows::runtime::Result<bool> {
4414         let this = self;
4415         unsafe {
4416             let mut result__: bool = ::std::mem::zeroed();
4417             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4418         }
4419     }
SetIsPositionYRailsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>4420     pub fn SetIsPositionYRailsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
4421         let this = self;
4422         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
4423     }
ManipulationRedirectionMode(&self) -> ::windows::runtime::Result<VisualInteractionSourceRedirectionMode>4424     pub fn ManipulationRedirectionMode(&self) -> ::windows::runtime::Result<VisualInteractionSourceRedirectionMode> {
4425         let this = self;
4426         unsafe {
4427             let mut result__: VisualInteractionSourceRedirectionMode = ::std::mem::zeroed();
4428             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualInteractionSourceRedirectionMode>(result__)
4429         }
4430     }
SetManipulationRedirectionMode(&self, value: VisualInteractionSourceRedirectionMode) -> ::windows::runtime::Result<()>4431     pub fn SetManipulationRedirectionMode(&self, value: VisualInteractionSourceRedirectionMode) -> ::windows::runtime::Result<()> {
4432         let this = self;
4433         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
4434     }
PositionXChainingMode(&self) -> ::windows::runtime::Result<InteractionChainingMode>4435     pub fn PositionXChainingMode(&self) -> ::windows::runtime::Result<InteractionChainingMode> {
4436         let this = self;
4437         unsafe {
4438             let mut result__: InteractionChainingMode = ::std::mem::zeroed();
4439             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionChainingMode>(result__)
4440         }
4441     }
SetPositionXChainingMode(&self, value: InteractionChainingMode) -> ::windows::runtime::Result<()>4442     pub fn SetPositionXChainingMode(&self, value: InteractionChainingMode) -> ::windows::runtime::Result<()> {
4443         let this = self;
4444         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
4445     }
PositionXSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceMode>4446     pub fn PositionXSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceMode> {
4447         let this = self;
4448         unsafe {
4449             let mut result__: InteractionSourceMode = ::std::mem::zeroed();
4450             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionSourceMode>(result__)
4451         }
4452     }
SetPositionXSourceMode(&self, value: InteractionSourceMode) -> ::windows::runtime::Result<()>4453     pub fn SetPositionXSourceMode(&self, value: InteractionSourceMode) -> ::windows::runtime::Result<()> {
4454         let this = self;
4455         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
4456     }
PositionYChainingMode(&self) -> ::windows::runtime::Result<InteractionChainingMode>4457     pub fn PositionYChainingMode(&self) -> ::windows::runtime::Result<InteractionChainingMode> {
4458         let this = self;
4459         unsafe {
4460             let mut result__: InteractionChainingMode = ::std::mem::zeroed();
4461             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionChainingMode>(result__)
4462         }
4463     }
SetPositionYChainingMode(&self, value: InteractionChainingMode) -> ::windows::runtime::Result<()>4464     pub fn SetPositionYChainingMode(&self, value: InteractionChainingMode) -> ::windows::runtime::Result<()> {
4465         let this = self;
4466         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
4467     }
PositionYSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceMode>4468     pub fn PositionYSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceMode> {
4469         let this = self;
4470         unsafe {
4471             let mut result__: InteractionSourceMode = ::std::mem::zeroed();
4472             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionSourceMode>(result__)
4473         }
4474     }
SetPositionYSourceMode(&self, value: InteractionSourceMode) -> ::windows::runtime::Result<()>4475     pub fn SetPositionYSourceMode(&self, value: InteractionSourceMode) -> ::windows::runtime::Result<()> {
4476         let this = self;
4477         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
4478     }
ScaleChainingMode(&self) -> ::windows::runtime::Result<InteractionChainingMode>4479     pub fn ScaleChainingMode(&self) -> ::windows::runtime::Result<InteractionChainingMode> {
4480         let this = self;
4481         unsafe {
4482             let mut result__: InteractionChainingMode = ::std::mem::zeroed();
4483             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionChainingMode>(result__)
4484         }
4485     }
SetScaleChainingMode(&self, value: InteractionChainingMode) -> ::windows::runtime::Result<()>4486     pub fn SetScaleChainingMode(&self, value: InteractionChainingMode) -> ::windows::runtime::Result<()> {
4487         let this = self;
4488         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value).ok() }
4489     }
ScaleSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceMode>4490     pub fn ScaleSourceMode(&self) -> ::windows::runtime::Result<InteractionSourceMode> {
4491         let this = self;
4492         unsafe {
4493             let mut result__: InteractionSourceMode = ::std::mem::zeroed();
4494             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionSourceMode>(result__)
4495         }
4496     }
SetScaleSourceMode(&self, value: InteractionSourceMode) -> ::windows::runtime::Result<()>4497     pub fn SetScaleSourceMode(&self, value: InteractionSourceMode) -> ::windows::runtime::Result<()> {
4498         let this = self;
4499         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
4500     }
Source(&self) -> ::windows::runtime::Result<super::Visual>4501     pub fn Source(&self) -> ::windows::runtime::Result<super::Visual> {
4502         let this = self;
4503         unsafe {
4504             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4505             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Visual>(result__)
4506         }
4507     }
4508     #[cfg(feature = "UI_Input")]
TryRedirectForManipulation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Input::PointerPoint>>(&self, pointerpoint: Param0) -> ::windows::runtime::Result<()>4509     pub fn TryRedirectForManipulation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Input::PointerPoint>>(&self, pointerpoint: Param0) -> ::windows::runtime::Result<()> {
4510         let this = self;
4511         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), pointerpoint.into_param().abi()).ok() }
4512     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Visual>>(source: Param0) -> ::windows::runtime::Result<VisualInteractionSource>4513     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Visual>>(source: Param0) -> ::windows::runtime::Result<VisualInteractionSource> {
4514         Self::IVisualInteractionSourceStatics(|this| unsafe {
4515             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4516             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), source.into_param().abi(), &mut result__).from_abi::<VisualInteractionSource>(result__)
4517         })
4518     }
4519     #[cfg(feature = "Foundation_Numerics")]
DeltaPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>4520     pub fn DeltaPosition(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
4521         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4522         unsafe {
4523             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
4524             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
4525         }
4526     }
DeltaScale(&self) -> ::windows::runtime::Result<f32>4527     pub fn DeltaScale(&self) -> ::windows::runtime::Result<f32> {
4528         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4529         unsafe {
4530             let mut result__: f32 = ::std::mem::zeroed();
4531             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
4532         }
4533     }
4534     #[cfg(feature = "Foundation_Numerics")]
Position(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>4535     pub fn Position(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
4536         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4537         unsafe {
4538             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
4539             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
4540         }
4541     }
4542     #[cfg(feature = "Foundation_Numerics")]
PositionVelocity(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3>4543     pub fn PositionVelocity(&self) -> ::windows::runtime::Result<super::super::super::Foundation::Numerics::Vector3> {
4544         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4545         unsafe {
4546             let mut result__: super::super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
4547             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::Foundation::Numerics::Vector3>(result__)
4548         }
4549     }
Scale(&self) -> ::windows::runtime::Result<f32>4550     pub fn Scale(&self) -> ::windows::runtime::Result<f32> {
4551         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4552         unsafe {
4553             let mut result__: f32 = ::std::mem::zeroed();
4554             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
4555         }
4556     }
ScaleVelocity(&self) -> ::windows::runtime::Result<f32>4557     pub fn ScaleVelocity(&self) -> ::windows::runtime::Result<f32> {
4558         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4559         unsafe {
4560             let mut result__: f32 = ::std::mem::zeroed();
4561             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
4562         }
4563     }
4564     #[cfg(feature = "Foundation_Collections")]
ConfigureCenterPointXModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()>4565     pub fn ConfigureCenterPointXModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()> {
4566         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4567         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), conditionalvalues.into_param().abi()).ok() }
4568     }
4569     #[cfg(feature = "Foundation_Collections")]
ConfigureCenterPointYModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()>4570     pub fn ConfigureCenterPointYModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()> {
4571         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4572         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), conditionalvalues.into_param().abi()).ok() }
4573     }
4574     #[cfg(feature = "Foundation_Collections")]
ConfigureDeltaPositionXModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()>4575     pub fn ConfigureDeltaPositionXModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()> {
4576         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4577         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), conditionalvalues.into_param().abi()).ok() }
4578     }
4579     #[cfg(feature = "Foundation_Collections")]
ConfigureDeltaPositionYModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()>4580     pub fn ConfigureDeltaPositionYModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()> {
4581         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4582         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), conditionalvalues.into_param().abi()).ok() }
4583     }
4584     #[cfg(feature = "Foundation_Collections")]
ConfigureDeltaScaleModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()>4585     pub fn ConfigureDeltaScaleModifiers<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::Foundation::Collections::IIterable<CompositionConditionalValue>>>(&self, conditionalvalues: Param0) -> ::windows::runtime::Result<()> {
4586         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource2>(self)?;
4587         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), conditionalvalues.into_param().abi()).ok() }
4588     }
PointerWheelConfig(&self) -> ::windows::runtime::Result<InteractionSourceConfiguration>4589     pub fn PointerWheelConfig(&self) -> ::windows::runtime::Result<InteractionSourceConfiguration> {
4590         let this = &::windows::runtime::Interface::cast::<IVisualInteractionSource3>(self)?;
4591         unsafe {
4592             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4593             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InteractionSourceConfiguration>(result__)
4594         }
4595     }
CreateFromIVisualElement<'a, Param0: ::windows::runtime::IntoParam<'a, super::IVisualElement>>(source: Param0) -> ::windows::runtime::Result<VisualInteractionSource>4596     pub fn CreateFromIVisualElement<'a, Param0: ::windows::runtime::IntoParam<'a, super::IVisualElement>>(source: Param0) -> ::windows::runtime::Result<VisualInteractionSource> {
4597         Self::IVisualInteractionSourceStatics2(|this| unsafe {
4598             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4599             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), source.into_param().abi(), &mut result__).from_abi::<VisualInteractionSource>(result__)
4600         })
4601     }
4602     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>4603     pub fn Close(&self) -> ::windows::runtime::Result<()> {
4604         let this = &::windows::runtime::Interface::cast::<super::super::super::Foundation::IClosable>(self)?;
4605         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4606     }
Compositor(&self) -> ::windows::runtime::Result<super::Compositor>4607     pub fn Compositor(&self) -> ::windows::runtime::Result<super::Compositor> {
4608         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4609         unsafe {
4610             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4611             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Compositor>(result__)
4612         }
4613     }
4614     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher>4615     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::super::Core::CoreDispatcher> {
4616         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4617         unsafe {
4618             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4619             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Core::CoreDispatcher>(result__)
4620         }
4621     }
Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet>4622     pub fn Properties(&self) -> ::windows::runtime::Result<super::CompositionPropertySet> {
4623         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4624         unsafe {
4625             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4626             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::CompositionPropertySet>(result__)
4627         }
4628     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>4629     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
4630         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4631         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
4632     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>4633     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
4634         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject>(self)?;
4635         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
4636     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4637     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4638         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4639         unsafe {
4640             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4641             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4642         }
4643     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4644     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4645         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4646         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4647     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection>4648     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<super::ImplicitAnimationCollection> {
4649         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4650         unsafe {
4651             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4652             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ImplicitAnimationCollection>(result__)
4653         }
4654     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>4655     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, super::ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4656         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4657         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4658     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4659     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4660         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4661         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4662     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4663     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, super::ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4664         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject2>(self)?;
4665         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4666     }
4667     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue>4668     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::super::System::DispatcherQueue> {
4669         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject3>(self)?;
4670         unsafe {
4671             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4672             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::System::DispatcherQueue>(result__)
4673         }
4674     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController>4675     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<super::AnimationController> {
4676         let this = &::windows::runtime::Interface::cast::<super::ICompositionObject4>(self)?;
4677         unsafe {
4678             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4679             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<super::AnimationController>(result__)
4680         }
4681     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>4682     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
4683         let this = &::windows::runtime::Interface::cast::<super::IAnimationObject>(self)?;
4684         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
4685     }
IVisualInteractionSourceStatics<R, F: FnOnce(&IVisualInteractionSourceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4686     pub fn IVisualInteractionSourceStatics<R, F: FnOnce(&IVisualInteractionSourceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4687         static mut SHARED: ::windows::runtime::FactoryCache<VisualInteractionSource, IVisualInteractionSourceStatics> = ::windows::runtime::FactoryCache::new();
4688         unsafe { SHARED.call(callback) }
4689     }
IVisualInteractionSourceStatics2<R, F: FnOnce(&IVisualInteractionSourceStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4690     pub fn IVisualInteractionSourceStatics2<R, F: FnOnce(&IVisualInteractionSourceStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4691         static mut SHARED: ::windows::runtime::FactoryCache<VisualInteractionSource, IVisualInteractionSourceStatics2> = ::windows::runtime::FactoryCache::new();
4692         unsafe { SHARED.call(callback) }
4693     }
4694 }
4695 unsafe impl ::windows::runtime::RuntimeType for VisualInteractionSource {
4696     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Interactions.VisualInteractionSource;{ca0e8a86-d8d6-4111-b088-70347bd2b0ed})");
4697 }
4698 unsafe impl ::windows::runtime::Interface for VisualInteractionSource {
4699     type Vtable = IVisualInteractionSource_abi;
4700     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3389950598, 55510, 16657, [176, 136, 112, 52, 123, 210, 176, 237]);
4701 }
4702 impl ::windows::runtime::RuntimeName for VisualInteractionSource {
4703     const NAME: &'static str = "Windows.UI.Composition.Interactions.VisualInteractionSource";
4704 }
4705 impl ::std::convert::From<VisualInteractionSource> for ::windows::runtime::IUnknown {
from(value: VisualInteractionSource) -> Self4706     fn from(value: VisualInteractionSource) -> Self {
4707         unsafe { ::std::mem::transmute(value) }
4708     }
4709 }
4710 impl ::std::convert::From<&VisualInteractionSource> for ::windows::runtime::IUnknown {
from(value: &VisualInteractionSource) -> Self4711     fn from(value: &VisualInteractionSource) -> Self {
4712         ::std::convert::From::from(::std::clone::Clone::clone(value))
4713     }
4714 }
4715 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4716     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4717         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4718     }
4719 }
4720 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4721     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4722         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4723     }
4724 }
4725 impl ::std::convert::From<VisualInteractionSource> for ::windows::runtime::IInspectable {
from(value: VisualInteractionSource) -> Self4726     fn from(value: VisualInteractionSource) -> Self {
4727         value.0
4728     }
4729 }
4730 impl ::std::convert::From<&VisualInteractionSource> for ::windows::runtime::IInspectable {
from(value: &VisualInteractionSource) -> Self4731     fn from(value: &VisualInteractionSource) -> Self {
4732         value.0.clone()
4733     }
4734 }
4735 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4736     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4737         ::windows::runtime::Param::Owned(self.0)
4738     }
4739 }
4740 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4741     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4742         ::windows::runtime::Param::Borrowed(&self.0)
4743     }
4744 }
4745 impl ::std::convert::TryFrom<VisualInteractionSource> for ICompositionInteractionSource {
4746     type Error = ::windows::runtime::Error;
try_from(value: VisualInteractionSource) -> ::windows::runtime::Result<Self>4747     fn try_from(value: VisualInteractionSource) -> ::windows::runtime::Result<Self> {
4748         ::std::convert::TryFrom::try_from(&value)
4749     }
4750 }
4751 impl ::std::convert::TryFrom<&VisualInteractionSource> for ICompositionInteractionSource {
4752     type Error = ::windows::runtime::Error;
try_from(value: &VisualInteractionSource) -> ::windows::runtime::Result<Self>4753     fn try_from(value: &VisualInteractionSource) -> ::windows::runtime::Result<Self> {
4754         ::windows::runtime::Interface::cast(value)
4755     }
4756 }
4757 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionInteractionSource> for VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionInteractionSource>4758     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionInteractionSource> {
4759         ::windows::runtime::IntoParam::into_param(&self)
4760     }
4761 }
4762 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionInteractionSource> for &VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionInteractionSource>4763     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionInteractionSource> {
4764         ::std::convert::TryInto::<ICompositionInteractionSource>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4765     }
4766 }
4767 #[cfg(feature = "Foundation")]
4768 impl ::std::convert::TryFrom<VisualInteractionSource> for super::super::super::Foundation::IClosable {
4769     type Error = ::windows::runtime::Error;
try_from(value: VisualInteractionSource) -> ::windows::runtime::Result<Self>4770     fn try_from(value: VisualInteractionSource) -> ::windows::runtime::Result<Self> {
4771         ::std::convert::TryFrom::try_from(&value)
4772     }
4773 }
4774 #[cfg(feature = "Foundation")]
4775 impl ::std::convert::TryFrom<&VisualInteractionSource> for super::super::super::Foundation::IClosable {
4776     type Error = ::windows::runtime::Error;
try_from(value: &VisualInteractionSource) -> ::windows::runtime::Result<Self>4777     fn try_from(value: &VisualInteractionSource) -> ::windows::runtime::Result<Self> {
4778         ::windows::runtime::Interface::cast(value)
4779     }
4780 }
4781 #[cfg(feature = "Foundation")]
4782 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>4783     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
4784         ::windows::runtime::IntoParam::into_param(&self)
4785     }
4786 }
4787 #[cfg(feature = "Foundation")]
4788 impl<'a> ::windows::runtime::IntoParam<'a, super::super::super::Foundation::IClosable> for &VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable>4789     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::super::Foundation::IClosable> {
4790         ::std::convert::TryInto::<super::super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4791     }
4792 }
4793 impl ::std::convert::TryFrom<VisualInteractionSource> for super::IAnimationObject {
4794     type Error = ::windows::runtime::Error;
try_from(value: VisualInteractionSource) -> ::windows::runtime::Result<Self>4795     fn try_from(value: VisualInteractionSource) -> ::windows::runtime::Result<Self> {
4796         ::std::convert::TryFrom::try_from(&value)
4797     }
4798 }
4799 impl ::std::convert::TryFrom<&VisualInteractionSource> for super::IAnimationObject {
4800     type Error = ::windows::runtime::Error;
try_from(value: &VisualInteractionSource) -> ::windows::runtime::Result<Self>4801     fn try_from(value: &VisualInteractionSource) -> ::windows::runtime::Result<Self> {
4802         ::windows::runtime::Interface::cast(value)
4803     }
4804 }
4805 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>4806     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
4807         ::windows::runtime::IntoParam::into_param(&self)
4808     }
4809 }
4810 impl<'a> ::windows::runtime::IntoParam<'a, super::IAnimationObject> for &VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject>4811     fn into_param(self) -> ::windows::runtime::Param<'a, super::IAnimationObject> {
4812         ::std::convert::TryInto::<super::IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4813     }
4814 }
4815 impl ::std::convert::From<VisualInteractionSource> for super::CompositionObject {
from(value: VisualInteractionSource) -> Self4816     fn from(value: VisualInteractionSource) -> Self {
4817         ::std::convert::Into::<super::CompositionObject>::into(&value)
4818     }
4819 }
4820 impl ::std::convert::From<&VisualInteractionSource> for super::CompositionObject {
from(value: &VisualInteractionSource) -> Self4821     fn from(value: &VisualInteractionSource) -> Self {
4822         ::windows::runtime::Interface::cast(value).unwrap()
4823     }
4824 }
4825 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>4826     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
4827         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(self))
4828     }
4829 }
4830 impl<'a> ::windows::runtime::IntoParam<'a, super::CompositionObject> for &VisualInteractionSource {
into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject>4831     fn into_param(self) -> ::windows::runtime::Param<'a, super::CompositionObject> {
4832         ::windows::runtime::Param::Owned(::std::convert::Into::<super::CompositionObject>::into(::std::clone::Clone::clone(self)))
4833     }
4834 }
4835 unsafe impl ::std::marker::Send for VisualInteractionSource {}
4836 unsafe impl ::std::marker::Sync for VisualInteractionSource {}
4837 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4838 #[repr(transparent)]
4839 pub struct VisualInteractionSourceRedirectionMode(pub i32);
4840 impl VisualInteractionSourceRedirectionMode {
4841     pub const Off: VisualInteractionSourceRedirectionMode = VisualInteractionSourceRedirectionMode(0i32);
4842     pub const CapableTouchpadOnly: VisualInteractionSourceRedirectionMode = VisualInteractionSourceRedirectionMode(1i32);
4843     pub const PointerWheelOnly: VisualInteractionSourceRedirectionMode = VisualInteractionSourceRedirectionMode(2i32);
4844     pub const CapableTouchpadAndPointerWheel: VisualInteractionSourceRedirectionMode = VisualInteractionSourceRedirectionMode(3i32);
4845 }
4846 impl ::std::convert::From<i32> for VisualInteractionSourceRedirectionMode {
from(value: i32) -> Self4847     fn from(value: i32) -> Self {
4848         Self(value)
4849     }
4850 }
4851 unsafe impl ::windows::runtime::Abi for VisualInteractionSourceRedirectionMode {
4852     type Abi = Self;
4853     type DefaultType = Self;
4854 }
4855 unsafe impl ::windows::runtime::RuntimeType for VisualInteractionSourceRedirectionMode {
4856     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.Interactions.VisualInteractionSourceRedirectionMode;i4)");
4857 }
4858