1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "UI_Composition_Core")]
3 pub mod Core;
4 #[cfg(feature = "UI_Composition_Desktop")]
5 pub mod Desktop;
6 #[cfg(feature = "UI_Composition_Diagnostics")]
7 pub mod Diagnostics;
8 #[cfg(feature = "UI_Composition_Effects")]
9 pub mod Effects;
10 #[cfg(feature = "UI_Composition_Interactions")]
11 pub mod Interactions;
12 #[cfg(feature = "UI_Composition_Scenes")]
13 pub mod Scenes;
14 #[repr(transparent)]
15 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16 pub struct AmbientLight(::windows::runtime::IInspectable);
17 impl AmbientLight {
Color(&self) -> ::windows::runtime::Result<super::Color>18     pub fn Color(&self) -> ::windows::runtime::Result<super::Color> {
19         let this = self;
20         unsafe {
21             let mut result__: super::Color = ::std::mem::zeroed();
22             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
23         }
24     }
SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>25     pub fn SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
26         let this = self;
27         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28     }
Intensity(&self) -> ::windows::runtime::Result<f32>29     pub fn Intensity(&self) -> ::windows::runtime::Result<f32> {
30         let this = &::windows::runtime::Interface::cast::<IAmbientLight2>(self)?;
31         unsafe {
32             let mut result__: f32 = ::std::mem::zeroed();
33             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
34         }
35     }
SetIntensity(&self, value: f32) -> ::windows::runtime::Result<()>36     pub fn SetIntensity(&self, value: f32) -> ::windows::runtime::Result<()> {
37         let this = &::windows::runtime::Interface::cast::<IAmbientLight2>(self)?;
38         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
39     }
40     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>41     pub fn Close(&self) -> ::windows::runtime::Result<()> {
42         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
43         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
44     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>45     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
46         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
47         unsafe {
48             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
49             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
50         }
51     }
52     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>53     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
54         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
55         unsafe {
56             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
57             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
58         }
59     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>60     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
61         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
62         unsafe {
63             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
64             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
65         }
66     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>67     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
68         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
69         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
70     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>71     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
72         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
73         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
74     }
Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>75     pub fn Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
76         let this = &::windows::runtime::Interface::cast::<ICompositionLight>(self)?;
77         unsafe {
78             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
79             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
80         }
81     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>82     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
83         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
84         unsafe {
85             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
86             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
87         }
88     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>89     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
90         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
91         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
92     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>93     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
94         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
95         unsafe {
96             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
97             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
98         }
99     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>100     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
101         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
102         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
103     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>104     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
105         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
106         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
107     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>108     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
109         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
110         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
111     }
ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>112     pub fn ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
113         let this = &::windows::runtime::Interface::cast::<ICompositionLight2>(self)?;
114         unsafe {
115             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
116             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
117         }
118     }
119     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>120     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
121         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
122         unsafe {
123             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
124             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
125         }
126     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>127     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
128         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
129         unsafe {
130             let mut result__: bool = ::std::mem::zeroed();
131             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
132         }
133     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>134     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
135         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
136         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
137     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>138     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
139         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
140         unsafe {
141             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
142             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
143         }
144     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>145     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
146         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
147         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
148     }
149 }
150 unsafe impl ::windows::runtime::RuntimeType for AmbientLight {
151     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.AmbientLight;{a48130a1-b7c4-46f7-b9bf-daf43a44e6ee})");
152 }
153 unsafe impl ::windows::runtime::Interface for AmbientLight {
154     type Vtable = IAmbientLight_abi;
155     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2759930017, 47044, 18167, [185, 191, 218, 244, 58, 68, 230, 238]);
156 }
157 impl ::windows::runtime::RuntimeName for AmbientLight {
158     const NAME: &'static str = "Windows.UI.Composition.AmbientLight";
159 }
160 impl ::std::convert::From<AmbientLight> for ::windows::runtime::IUnknown {
from(value: AmbientLight) -> Self161     fn from(value: AmbientLight) -> Self {
162         unsafe { ::std::mem::transmute(value) }
163     }
164 }
165 impl ::std::convert::From<&AmbientLight> for ::windows::runtime::IUnknown {
from(value: &AmbientLight) -> Self166     fn from(value: &AmbientLight) -> Self {
167         ::std::convert::From::from(::std::clone::Clone::clone(value))
168     }
169 }
170 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>171     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
172         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
173     }
174 }
175 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>176     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
177         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
178     }
179 }
180 impl ::std::convert::From<AmbientLight> for ::windows::runtime::IInspectable {
from(value: AmbientLight) -> Self181     fn from(value: AmbientLight) -> Self {
182         value.0
183     }
184 }
185 impl ::std::convert::From<&AmbientLight> for ::windows::runtime::IInspectable {
from(value: &AmbientLight) -> Self186     fn from(value: &AmbientLight) -> Self {
187         value.0.clone()
188     }
189 }
190 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>191     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
192         ::windows::runtime::Param::Owned(self.0)
193     }
194 }
195 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>196     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
197         ::windows::runtime::Param::Borrowed(&self.0)
198     }
199 }
200 #[cfg(feature = "Foundation")]
201 impl ::std::convert::TryFrom<AmbientLight> for super::super::Foundation::IClosable {
202     type Error = ::windows::runtime::Error;
try_from(value: AmbientLight) -> ::windows::runtime::Result<Self>203     fn try_from(value: AmbientLight) -> ::windows::runtime::Result<Self> {
204         ::std::convert::TryFrom::try_from(&value)
205     }
206 }
207 #[cfg(feature = "Foundation")]
208 impl ::std::convert::TryFrom<&AmbientLight> for super::super::Foundation::IClosable {
209     type Error = ::windows::runtime::Error;
try_from(value: &AmbientLight) -> ::windows::runtime::Result<Self>210     fn try_from(value: &AmbientLight) -> ::windows::runtime::Result<Self> {
211         ::windows::runtime::Interface::cast(value)
212     }
213 }
214 #[cfg(feature = "Foundation")]
215 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>216     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
217         ::windows::runtime::IntoParam::into_param(&self)
218     }
219 }
220 #[cfg(feature = "Foundation")]
221 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>222     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
223         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
224     }
225 }
226 impl ::std::convert::TryFrom<AmbientLight> for IAnimationObject {
227     type Error = ::windows::runtime::Error;
try_from(value: AmbientLight) -> ::windows::runtime::Result<Self>228     fn try_from(value: AmbientLight) -> ::windows::runtime::Result<Self> {
229         ::std::convert::TryFrom::try_from(&value)
230     }
231 }
232 impl ::std::convert::TryFrom<&AmbientLight> for IAnimationObject {
233     type Error = ::windows::runtime::Error;
try_from(value: &AmbientLight) -> ::windows::runtime::Result<Self>234     fn try_from(value: &AmbientLight) -> ::windows::runtime::Result<Self> {
235         ::windows::runtime::Interface::cast(value)
236     }
237 }
238 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>239     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
240         ::windows::runtime::IntoParam::into_param(&self)
241     }
242 }
243 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>244     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
245         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
246     }
247 }
248 impl ::std::convert::From<AmbientLight> for CompositionLight {
from(value: AmbientLight) -> Self249     fn from(value: AmbientLight) -> Self {
250         ::std::convert::Into::<CompositionLight>::into(&value)
251     }
252 }
253 impl ::std::convert::From<&AmbientLight> for CompositionLight {
from(value: &AmbientLight) -> Self254     fn from(value: &AmbientLight) -> Self {
255         ::windows::runtime::Interface::cast(value).unwrap()
256     }
257 }
258 impl<'a> ::windows::runtime::IntoParam<'a, CompositionLight> for AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionLight>259     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionLight> {
260         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionLight>::into(self))
261     }
262 }
263 impl<'a> ::windows::runtime::IntoParam<'a, CompositionLight> for &AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionLight>264     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionLight> {
265         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionLight>::into(::std::clone::Clone::clone(self)))
266     }
267 }
268 impl ::std::convert::From<AmbientLight> for CompositionObject {
from(value: AmbientLight) -> Self269     fn from(value: AmbientLight) -> Self {
270         ::std::convert::Into::<CompositionObject>::into(&value)
271     }
272 }
273 impl ::std::convert::From<&AmbientLight> for CompositionObject {
from(value: &AmbientLight) -> Self274     fn from(value: &AmbientLight) -> Self {
275         ::windows::runtime::Interface::cast(value).unwrap()
276     }
277 }
278 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>279     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
280         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
281     }
282 }
283 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &AmbientLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>284     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
285         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
286     }
287 }
288 unsafe impl ::std::marker::Send for AmbientLight {}
289 unsafe impl ::std::marker::Sync for AmbientLight {}
290 #[repr(transparent)]
291 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
292 pub struct AnimationController(::windows::runtime::IInspectable);
293 impl AnimationController {
PlaybackRate(&self) -> ::windows::runtime::Result<f32>294     pub fn PlaybackRate(&self) -> ::windows::runtime::Result<f32> {
295         let this = self;
296         unsafe {
297             let mut result__: f32 = ::std::mem::zeroed();
298             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
299         }
300     }
SetPlaybackRate(&self, value: f32) -> ::windows::runtime::Result<()>301     pub fn SetPlaybackRate(&self, value: f32) -> ::windows::runtime::Result<()> {
302         let this = self;
303         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
304     }
Progress(&self) -> ::windows::runtime::Result<f32>305     pub fn Progress(&self) -> ::windows::runtime::Result<f32> {
306         let this = self;
307         unsafe {
308             let mut result__: f32 = ::std::mem::zeroed();
309             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
310         }
311     }
SetProgress(&self, value: f32) -> ::windows::runtime::Result<()>312     pub fn SetProgress(&self, value: f32) -> ::windows::runtime::Result<()> {
313         let this = self;
314         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
315     }
ProgressBehavior(&self) -> ::windows::runtime::Result<AnimationControllerProgressBehavior>316     pub fn ProgressBehavior(&self) -> ::windows::runtime::Result<AnimationControllerProgressBehavior> {
317         let this = self;
318         unsafe {
319             let mut result__: AnimationControllerProgressBehavior = ::std::mem::zeroed();
320             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationControllerProgressBehavior>(result__)
321         }
322     }
SetProgressBehavior(&self, value: AnimationControllerProgressBehavior) -> ::windows::runtime::Result<()>323     pub fn SetProgressBehavior(&self, value: AnimationControllerProgressBehavior) -> ::windows::runtime::Result<()> {
324         let this = self;
325         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
326     }
Pause(&self) -> ::windows::runtime::Result<()>327     pub fn Pause(&self) -> ::windows::runtime::Result<()> {
328         let this = self;
329         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
330     }
Resume(&self) -> ::windows::runtime::Result<()>331     pub fn Resume(&self) -> ::windows::runtime::Result<()> {
332         let this = self;
333         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this)).ok() }
334     }
MaxPlaybackRate() -> ::windows::runtime::Result<f32>335     pub fn MaxPlaybackRate() -> ::windows::runtime::Result<f32> {
336         Self::IAnimationControllerStatics(|this| unsafe {
337             let mut result__: f32 = ::std::mem::zeroed();
338             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
339         })
340     }
MinPlaybackRate() -> ::windows::runtime::Result<f32>341     pub fn MinPlaybackRate() -> ::windows::runtime::Result<f32> {
342         Self::IAnimationControllerStatics(|this| unsafe {
343             let mut result__: f32 = ::std::mem::zeroed();
344             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
345         })
346     }
347     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>348     pub fn Close(&self) -> ::windows::runtime::Result<()> {
349         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
350         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
351     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>352     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
353         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
354         unsafe {
355             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
356             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
357         }
358     }
359     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>360     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
361         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
362         unsafe {
363             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
364             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
365         }
366     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>367     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
368         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
369         unsafe {
370             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
371             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
372         }
373     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>374     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
375         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
376         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
377     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>378     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
379         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
380         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
381     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>382     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
383         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
384         unsafe {
385             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
386             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
387         }
388     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>389     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
390         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
391         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
392     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>393     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
394         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
395         unsafe {
396             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
397             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
398         }
399     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>400     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
401         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
402         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
403     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>404     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
405         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
406         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
407     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>408     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
409         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
410         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
411     }
412     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>413     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
414         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
415         unsafe {
416             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
417             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
418         }
419     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>420     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
421         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
422         unsafe {
423             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
424             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
425         }
426     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>427     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
428         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
429         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
430     }
IAnimationControllerStatics<R, F: FnOnce(&IAnimationControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>431     pub fn IAnimationControllerStatics<R, F: FnOnce(&IAnimationControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
432         static mut SHARED: ::windows::runtime::FactoryCache<AnimationController, IAnimationControllerStatics> = ::windows::runtime::FactoryCache::new();
433         unsafe { SHARED.call(callback) }
434     }
435 }
436 unsafe impl ::windows::runtime::RuntimeType for AnimationController {
437     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.AnimationController;{c934efd2-0722-4f5f-a4e2-9510f3d43bf7})");
438 }
439 unsafe impl ::windows::runtime::Interface for AnimationController {
440     type Vtable = IAnimationController_abi;
441     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3375689682, 1826, 20319, [164, 226, 149, 16, 243, 212, 59, 247]);
442 }
443 impl ::windows::runtime::RuntimeName for AnimationController {
444     const NAME: &'static str = "Windows.UI.Composition.AnimationController";
445 }
446 impl ::std::convert::From<AnimationController> for ::windows::runtime::IUnknown {
from(value: AnimationController) -> Self447     fn from(value: AnimationController) -> Self {
448         unsafe { ::std::mem::transmute(value) }
449     }
450 }
451 impl ::std::convert::From<&AnimationController> for ::windows::runtime::IUnknown {
from(value: &AnimationController) -> Self452     fn from(value: &AnimationController) -> Self {
453         ::std::convert::From::from(::std::clone::Clone::clone(value))
454     }
455 }
456 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>457     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
458         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
459     }
460 }
461 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>462     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
463         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
464     }
465 }
466 impl ::std::convert::From<AnimationController> for ::windows::runtime::IInspectable {
from(value: AnimationController) -> Self467     fn from(value: AnimationController) -> Self {
468         value.0
469     }
470 }
471 impl ::std::convert::From<&AnimationController> for ::windows::runtime::IInspectable {
from(value: &AnimationController) -> Self472     fn from(value: &AnimationController) -> Self {
473         value.0.clone()
474     }
475 }
476 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>477     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
478         ::windows::runtime::Param::Owned(self.0)
479     }
480 }
481 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>482     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
483         ::windows::runtime::Param::Borrowed(&self.0)
484     }
485 }
486 #[cfg(feature = "Foundation")]
487 impl ::std::convert::TryFrom<AnimationController> for super::super::Foundation::IClosable {
488     type Error = ::windows::runtime::Error;
try_from(value: AnimationController) -> ::windows::runtime::Result<Self>489     fn try_from(value: AnimationController) -> ::windows::runtime::Result<Self> {
490         ::std::convert::TryFrom::try_from(&value)
491     }
492 }
493 #[cfg(feature = "Foundation")]
494 impl ::std::convert::TryFrom<&AnimationController> for super::super::Foundation::IClosable {
495     type Error = ::windows::runtime::Error;
try_from(value: &AnimationController) -> ::windows::runtime::Result<Self>496     fn try_from(value: &AnimationController) -> ::windows::runtime::Result<Self> {
497         ::windows::runtime::Interface::cast(value)
498     }
499 }
500 #[cfg(feature = "Foundation")]
501 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>502     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
503         ::windows::runtime::IntoParam::into_param(&self)
504     }
505 }
506 #[cfg(feature = "Foundation")]
507 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>508     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
509         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
510     }
511 }
512 impl ::std::convert::TryFrom<AnimationController> for IAnimationObject {
513     type Error = ::windows::runtime::Error;
try_from(value: AnimationController) -> ::windows::runtime::Result<Self>514     fn try_from(value: AnimationController) -> ::windows::runtime::Result<Self> {
515         ::std::convert::TryFrom::try_from(&value)
516     }
517 }
518 impl ::std::convert::TryFrom<&AnimationController> for IAnimationObject {
519     type Error = ::windows::runtime::Error;
try_from(value: &AnimationController) -> ::windows::runtime::Result<Self>520     fn try_from(value: &AnimationController) -> ::windows::runtime::Result<Self> {
521         ::windows::runtime::Interface::cast(value)
522     }
523 }
524 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>525     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
526         ::windows::runtime::IntoParam::into_param(&self)
527     }
528 }
529 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>530     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
531         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
532     }
533 }
534 impl ::std::convert::From<AnimationController> for CompositionObject {
from(value: AnimationController) -> Self535     fn from(value: AnimationController) -> Self {
536         ::std::convert::Into::<CompositionObject>::into(&value)
537     }
538 }
539 impl ::std::convert::From<&AnimationController> for CompositionObject {
from(value: &AnimationController) -> Self540     fn from(value: &AnimationController) -> Self {
541         ::windows::runtime::Interface::cast(value).unwrap()
542     }
543 }
544 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>545     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
546         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
547     }
548 }
549 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &AnimationController {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>550     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
551         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
552     }
553 }
554 unsafe impl ::std::marker::Send for AnimationController {}
555 unsafe impl ::std::marker::Sync for AnimationController {}
556 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
557 #[repr(transparent)]
558 pub struct AnimationControllerProgressBehavior(pub i32);
559 impl AnimationControllerProgressBehavior {
560     pub const Default: AnimationControllerProgressBehavior = AnimationControllerProgressBehavior(0i32);
561     pub const IncludesDelayTime: AnimationControllerProgressBehavior = AnimationControllerProgressBehavior(1i32);
562 }
563 impl ::std::convert::From<i32> for AnimationControllerProgressBehavior {
from(value: i32) -> Self564     fn from(value: i32) -> Self {
565         Self(value)
566     }
567 }
568 unsafe impl ::windows::runtime::Abi for AnimationControllerProgressBehavior {
569     type Abi = Self;
570     type DefaultType = Self;
571 }
572 unsafe impl ::windows::runtime::RuntimeType for AnimationControllerProgressBehavior {
573     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationControllerProgressBehavior;i4)");
574 }
575 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
576 #[repr(transparent)]
577 pub struct AnimationDelayBehavior(pub i32);
578 impl AnimationDelayBehavior {
579     pub const SetInitialValueAfterDelay: AnimationDelayBehavior = AnimationDelayBehavior(0i32);
580     pub const SetInitialValueBeforeDelay: AnimationDelayBehavior = AnimationDelayBehavior(1i32);
581 }
582 impl ::std::convert::From<i32> for AnimationDelayBehavior {
from(value: i32) -> Self583     fn from(value: i32) -> Self {
584         Self(value)
585     }
586 }
587 unsafe impl ::windows::runtime::Abi for AnimationDelayBehavior {
588     type Abi = Self;
589     type DefaultType = Self;
590 }
591 unsafe impl ::windows::runtime::RuntimeType for AnimationDelayBehavior {
592     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationDelayBehavior;i4)");
593 }
594 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
595 #[repr(transparent)]
596 pub struct AnimationDirection(pub i32);
597 impl AnimationDirection {
598     pub const Normal: AnimationDirection = AnimationDirection(0i32);
599     pub const Reverse: AnimationDirection = AnimationDirection(1i32);
600     pub const Alternate: AnimationDirection = AnimationDirection(2i32);
601     pub const AlternateReverse: AnimationDirection = AnimationDirection(3i32);
602 }
603 impl ::std::convert::From<i32> for AnimationDirection {
from(value: i32) -> Self604     fn from(value: i32) -> Self {
605         Self(value)
606     }
607 }
608 unsafe impl ::windows::runtime::Abi for AnimationDirection {
609     type Abi = Self;
610     type DefaultType = Self;
611 }
612 unsafe impl ::windows::runtime::RuntimeType for AnimationDirection {
613     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationDirection;i4)");
614 }
615 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
616 #[repr(transparent)]
617 pub struct AnimationIterationBehavior(pub i32);
618 impl AnimationIterationBehavior {
619     pub const Count: AnimationIterationBehavior = AnimationIterationBehavior(0i32);
620     pub const Forever: AnimationIterationBehavior = AnimationIterationBehavior(1i32);
621 }
622 impl ::std::convert::From<i32> for AnimationIterationBehavior {
from(value: i32) -> Self623     fn from(value: i32) -> Self {
624         Self(value)
625     }
626 }
627 unsafe impl ::windows::runtime::Abi for AnimationIterationBehavior {
628     type Abi = Self;
629     type DefaultType = Self;
630 }
631 unsafe impl ::windows::runtime::RuntimeType for AnimationIterationBehavior {
632     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationIterationBehavior;i4)");
633 }
634 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
635 #[repr(transparent)]
636 pub struct AnimationPropertyAccessMode(pub i32);
637 impl AnimationPropertyAccessMode {
638     pub const None: AnimationPropertyAccessMode = AnimationPropertyAccessMode(0i32);
639     pub const ReadOnly: AnimationPropertyAccessMode = AnimationPropertyAccessMode(1i32);
640     pub const WriteOnly: AnimationPropertyAccessMode = AnimationPropertyAccessMode(2i32);
641     pub const ReadWrite: AnimationPropertyAccessMode = AnimationPropertyAccessMode(3i32);
642 }
643 impl ::std::convert::From<i32> for AnimationPropertyAccessMode {
from(value: i32) -> Self644     fn from(value: i32) -> Self {
645         Self(value)
646     }
647 }
648 unsafe impl ::windows::runtime::Abi for AnimationPropertyAccessMode {
649     type Abi = Self;
650     type DefaultType = Self;
651 }
652 unsafe impl ::windows::runtime::RuntimeType for AnimationPropertyAccessMode {
653     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationPropertyAccessMode;i4)");
654 }
655 #[repr(transparent)]
656 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
657 pub struct AnimationPropertyInfo(::windows::runtime::IInspectable);
658 impl AnimationPropertyInfo {
AccessMode(&self) -> ::windows::runtime::Result<AnimationPropertyAccessMode>659     pub fn AccessMode(&self) -> ::windows::runtime::Result<AnimationPropertyAccessMode> {
660         let this = self;
661         unsafe {
662             let mut result__: AnimationPropertyAccessMode = ::std::mem::zeroed();
663             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationPropertyAccessMode>(result__)
664         }
665     }
SetAccessMode(&self, value: AnimationPropertyAccessMode) -> ::windows::runtime::Result<()>666     pub fn SetAccessMode(&self, value: AnimationPropertyAccessMode) -> ::windows::runtime::Result<()> {
667         let this = self;
668         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
669     }
GetResolvedCompositionObject(&self) -> ::windows::runtime::Result<CompositionObject>670     pub fn GetResolvedCompositionObject(&self) -> ::windows::runtime::Result<CompositionObject> {
671         let this = &::windows::runtime::Interface::cast::<IAnimationPropertyInfo2>(self)?;
672         unsafe {
673             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
674             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionObject>(result__)
675         }
676     }
GetResolvedCompositionObjectProperty(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>677     pub fn GetResolvedCompositionObjectProperty(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
678         let this = &::windows::runtime::Interface::cast::<IAnimationPropertyInfo2>(self)?;
679         unsafe {
680             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
681             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
682         }
683     }
684     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>685     pub fn Close(&self) -> ::windows::runtime::Result<()> {
686         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
687         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
688     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>689     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
690         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
691         unsafe {
692             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
693             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
694         }
695     }
696     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>697     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
698         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
699         unsafe {
700             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
701             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
702         }
703     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>704     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
705         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
706         unsafe {
707             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
708             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
709         }
710     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>711     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
712         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
713         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
714     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>715     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
716         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
717         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
718     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>719     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
720         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
721         unsafe {
722             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
723             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
724         }
725     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>726     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
727         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
728         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
729     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>730     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
731         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
732         unsafe {
733             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
734             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
735         }
736     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>737     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
738         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
739         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
740     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>741     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
742         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
743         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
744     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>745     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
746         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
747         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
748     }
749     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>750     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
751         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
752         unsafe {
753             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
754             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
755         }
756     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>757     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
758         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
759         unsafe {
760             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
761             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
762         }
763     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>764     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
765         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
766         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
767     }
768 }
769 unsafe impl ::windows::runtime::RuntimeType for AnimationPropertyInfo {
770     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.AnimationPropertyInfo;{f4716f05-ed77-4e3c-b328-5c3985b3738f})");
771 }
772 unsafe impl ::windows::runtime::Interface for AnimationPropertyInfo {
773     type Vtable = IAnimationPropertyInfo_abi;
774     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4101074693, 60791, 20028, [179, 40, 92, 57, 133, 179, 115, 143]);
775 }
776 impl ::windows::runtime::RuntimeName for AnimationPropertyInfo {
777     const NAME: &'static str = "Windows.UI.Composition.AnimationPropertyInfo";
778 }
779 impl ::std::convert::From<AnimationPropertyInfo> for ::windows::runtime::IUnknown {
from(value: AnimationPropertyInfo) -> Self780     fn from(value: AnimationPropertyInfo) -> Self {
781         unsafe { ::std::mem::transmute(value) }
782     }
783 }
784 impl ::std::convert::From<&AnimationPropertyInfo> for ::windows::runtime::IUnknown {
from(value: &AnimationPropertyInfo) -> Self785     fn from(value: &AnimationPropertyInfo) -> Self {
786         ::std::convert::From::from(::std::clone::Clone::clone(value))
787     }
788 }
789 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>790     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
791         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
792     }
793 }
794 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>795     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
796         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
797     }
798 }
799 impl ::std::convert::From<AnimationPropertyInfo> for ::windows::runtime::IInspectable {
from(value: AnimationPropertyInfo) -> Self800     fn from(value: AnimationPropertyInfo) -> Self {
801         value.0
802     }
803 }
804 impl ::std::convert::From<&AnimationPropertyInfo> for ::windows::runtime::IInspectable {
from(value: &AnimationPropertyInfo) -> Self805     fn from(value: &AnimationPropertyInfo) -> Self {
806         value.0.clone()
807     }
808 }
809 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>810     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
811         ::windows::runtime::Param::Owned(self.0)
812     }
813 }
814 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>815     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
816         ::windows::runtime::Param::Borrowed(&self.0)
817     }
818 }
819 #[cfg(feature = "Foundation")]
820 impl ::std::convert::TryFrom<AnimationPropertyInfo> for super::super::Foundation::IClosable {
821     type Error = ::windows::runtime::Error;
try_from(value: AnimationPropertyInfo) -> ::windows::runtime::Result<Self>822     fn try_from(value: AnimationPropertyInfo) -> ::windows::runtime::Result<Self> {
823         ::std::convert::TryFrom::try_from(&value)
824     }
825 }
826 #[cfg(feature = "Foundation")]
827 impl ::std::convert::TryFrom<&AnimationPropertyInfo> for super::super::Foundation::IClosable {
828     type Error = ::windows::runtime::Error;
try_from(value: &AnimationPropertyInfo) -> ::windows::runtime::Result<Self>829     fn try_from(value: &AnimationPropertyInfo) -> ::windows::runtime::Result<Self> {
830         ::windows::runtime::Interface::cast(value)
831     }
832 }
833 #[cfg(feature = "Foundation")]
834 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>835     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
836         ::windows::runtime::IntoParam::into_param(&self)
837     }
838 }
839 #[cfg(feature = "Foundation")]
840 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>841     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
842         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
843     }
844 }
845 impl ::std::convert::TryFrom<AnimationPropertyInfo> for IAnimationObject {
846     type Error = ::windows::runtime::Error;
try_from(value: AnimationPropertyInfo) -> ::windows::runtime::Result<Self>847     fn try_from(value: AnimationPropertyInfo) -> ::windows::runtime::Result<Self> {
848         ::std::convert::TryFrom::try_from(&value)
849     }
850 }
851 impl ::std::convert::TryFrom<&AnimationPropertyInfo> for IAnimationObject {
852     type Error = ::windows::runtime::Error;
try_from(value: &AnimationPropertyInfo) -> ::windows::runtime::Result<Self>853     fn try_from(value: &AnimationPropertyInfo) -> ::windows::runtime::Result<Self> {
854         ::windows::runtime::Interface::cast(value)
855     }
856 }
857 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>858     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
859         ::windows::runtime::IntoParam::into_param(&self)
860     }
861 }
862 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>863     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
864         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
865     }
866 }
867 impl ::std::convert::From<AnimationPropertyInfo> for CompositionObject {
from(value: AnimationPropertyInfo) -> Self868     fn from(value: AnimationPropertyInfo) -> Self {
869         ::std::convert::Into::<CompositionObject>::into(&value)
870     }
871 }
872 impl ::std::convert::From<&AnimationPropertyInfo> for CompositionObject {
from(value: &AnimationPropertyInfo) -> Self873     fn from(value: &AnimationPropertyInfo) -> Self {
874         ::windows::runtime::Interface::cast(value).unwrap()
875     }
876 }
877 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>878     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
879         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
880     }
881 }
882 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &AnimationPropertyInfo {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>883     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
884         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
885     }
886 }
887 unsafe impl ::std::marker::Send for AnimationPropertyInfo {}
888 unsafe impl ::std::marker::Sync for AnimationPropertyInfo {}
889 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
890 #[repr(transparent)]
891 pub struct AnimationStopBehavior(pub i32);
892 impl AnimationStopBehavior {
893     pub const LeaveCurrentValue: AnimationStopBehavior = AnimationStopBehavior(0i32);
894     pub const SetToInitialValue: AnimationStopBehavior = AnimationStopBehavior(1i32);
895     pub const SetToFinalValue: AnimationStopBehavior = AnimationStopBehavior(2i32);
896 }
897 impl ::std::convert::From<i32> for AnimationStopBehavior {
from(value: i32) -> Self898     fn from(value: i32) -> Self {
899         Self(value)
900     }
901 }
902 unsafe impl ::windows::runtime::Abi for AnimationStopBehavior {
903     type Abi = Self;
904     type DefaultType = Self;
905 }
906 unsafe impl ::windows::runtime::RuntimeType for AnimationStopBehavior {
907     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.AnimationStopBehavior;i4)");
908 }
909 #[repr(transparent)]
910 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
911 pub struct BackEasingFunction(::windows::runtime::IInspectable);
912 impl BackEasingFunction {
Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode>913     pub fn Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode> {
914         let this = self;
915         unsafe {
916             let mut result__: CompositionEasingFunctionMode = ::std::mem::zeroed();
917             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEasingFunctionMode>(result__)
918         }
919     }
Amplitude(&self) -> ::windows::runtime::Result<f32>920     pub fn Amplitude(&self) -> ::windows::runtime::Result<f32> {
921         let this = self;
922         unsafe {
923             let mut result__: f32 = ::std::mem::zeroed();
924             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
925         }
926     }
927     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>928     pub fn Close(&self) -> ::windows::runtime::Result<()> {
929         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
930         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
931     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>932     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
933         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
934         unsafe {
935             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
936             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
937         }
938     }
939     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>940     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
941         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
942         unsafe {
943             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
944             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
945         }
946     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>947     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
948         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
949         unsafe {
950             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
951             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
952         }
953     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>954     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
955         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
956         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
957     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>958     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
959         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
960         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
961     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>962     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
963         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
964         unsafe {
965             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
966             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
967         }
968     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>969     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
970         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
971         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
972     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>973     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
974         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
975         unsafe {
976             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
977             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
978         }
979     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>980     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
981         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
982         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
983     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>984     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
985         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
986         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
987     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>988     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
989         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
990         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
991     }
992     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>993     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
994         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
995         unsafe {
996             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
997             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
998         }
999     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>1000     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
1001         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
1002         unsafe {
1003             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1004             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
1005         }
1006     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>1007     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
1008         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
1009         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
1010     }
1011 }
1012 unsafe impl ::windows::runtime::RuntimeType for BackEasingFunction {
1013     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BackEasingFunction;{b8560da4-5e3c-545d-b263-7987a2bd27cb})");
1014 }
1015 unsafe impl ::windows::runtime::Interface for BackEasingFunction {
1016     type Vtable = IBackEasingFunction_abi;
1017     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3092647332, 24124, 21597, [178, 99, 121, 135, 162, 189, 39, 203]);
1018 }
1019 impl ::windows::runtime::RuntimeName for BackEasingFunction {
1020     const NAME: &'static str = "Windows.UI.Composition.BackEasingFunction";
1021 }
1022 impl ::std::convert::From<BackEasingFunction> for ::windows::runtime::IUnknown {
from(value: BackEasingFunction) -> Self1023     fn from(value: BackEasingFunction) -> Self {
1024         unsafe { ::std::mem::transmute(value) }
1025     }
1026 }
1027 impl ::std::convert::From<&BackEasingFunction> for ::windows::runtime::IUnknown {
from(value: &BackEasingFunction) -> Self1028     fn from(value: &BackEasingFunction) -> Self {
1029         ::std::convert::From::from(::std::clone::Clone::clone(value))
1030     }
1031 }
1032 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1033     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1034         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1035     }
1036 }
1037 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1038     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1039         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1040     }
1041 }
1042 impl ::std::convert::From<BackEasingFunction> for ::windows::runtime::IInspectable {
from(value: BackEasingFunction) -> Self1043     fn from(value: BackEasingFunction) -> Self {
1044         value.0
1045     }
1046 }
1047 impl ::std::convert::From<&BackEasingFunction> for ::windows::runtime::IInspectable {
from(value: &BackEasingFunction) -> Self1048     fn from(value: &BackEasingFunction) -> Self {
1049         value.0.clone()
1050     }
1051 }
1052 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1053     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1054         ::windows::runtime::Param::Owned(self.0)
1055     }
1056 }
1057 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1058     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1059         ::windows::runtime::Param::Borrowed(&self.0)
1060     }
1061 }
1062 #[cfg(feature = "Foundation")]
1063 impl ::std::convert::TryFrom<BackEasingFunction> for super::super::Foundation::IClosable {
1064     type Error = ::windows::runtime::Error;
try_from(value: BackEasingFunction) -> ::windows::runtime::Result<Self>1065     fn try_from(value: BackEasingFunction) -> ::windows::runtime::Result<Self> {
1066         ::std::convert::TryFrom::try_from(&value)
1067     }
1068 }
1069 #[cfg(feature = "Foundation")]
1070 impl ::std::convert::TryFrom<&BackEasingFunction> for super::super::Foundation::IClosable {
1071     type Error = ::windows::runtime::Error;
try_from(value: &BackEasingFunction) -> ::windows::runtime::Result<Self>1072     fn try_from(value: &BackEasingFunction) -> ::windows::runtime::Result<Self> {
1073         ::windows::runtime::Interface::cast(value)
1074     }
1075 }
1076 #[cfg(feature = "Foundation")]
1077 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1078     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1079         ::windows::runtime::IntoParam::into_param(&self)
1080     }
1081 }
1082 #[cfg(feature = "Foundation")]
1083 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1084     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1085         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1086     }
1087 }
1088 impl ::std::convert::TryFrom<BackEasingFunction> for IAnimationObject {
1089     type Error = ::windows::runtime::Error;
try_from(value: BackEasingFunction) -> ::windows::runtime::Result<Self>1090     fn try_from(value: BackEasingFunction) -> ::windows::runtime::Result<Self> {
1091         ::std::convert::TryFrom::try_from(&value)
1092     }
1093 }
1094 impl ::std::convert::TryFrom<&BackEasingFunction> for IAnimationObject {
1095     type Error = ::windows::runtime::Error;
try_from(value: &BackEasingFunction) -> ::windows::runtime::Result<Self>1096     fn try_from(value: &BackEasingFunction) -> ::windows::runtime::Result<Self> {
1097         ::windows::runtime::Interface::cast(value)
1098     }
1099 }
1100 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>1101     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
1102         ::windows::runtime::IntoParam::into_param(&self)
1103     }
1104 }
1105 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>1106     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
1107         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1108     }
1109 }
1110 impl ::std::convert::From<BackEasingFunction> for CompositionEasingFunction {
from(value: BackEasingFunction) -> Self1111     fn from(value: BackEasingFunction) -> Self {
1112         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
1113     }
1114 }
1115 impl ::std::convert::From<&BackEasingFunction> for CompositionEasingFunction {
from(value: &BackEasingFunction) -> Self1116     fn from(value: &BackEasingFunction) -> Self {
1117         ::windows::runtime::Interface::cast(value).unwrap()
1118     }
1119 }
1120 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>1121     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
1122         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
1123     }
1124 }
1125 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>1126     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
1127         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
1128     }
1129 }
1130 impl ::std::convert::From<BackEasingFunction> for CompositionObject {
from(value: BackEasingFunction) -> Self1131     fn from(value: BackEasingFunction) -> Self {
1132         ::std::convert::Into::<CompositionObject>::into(&value)
1133     }
1134 }
1135 impl ::std::convert::From<&BackEasingFunction> for CompositionObject {
from(value: &BackEasingFunction) -> Self1136     fn from(value: &BackEasingFunction) -> Self {
1137         ::windows::runtime::Interface::cast(value).unwrap()
1138     }
1139 }
1140 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>1141     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
1142         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
1143     }
1144 }
1145 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &BackEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>1146     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
1147         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
1148     }
1149 }
1150 unsafe impl ::std::marker::Send for BackEasingFunction {}
1151 unsafe impl ::std::marker::Sync for BackEasingFunction {}
1152 #[repr(transparent)]
1153 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1154 pub struct BooleanKeyFrameAnimation(::windows::runtime::IInspectable);
1155 impl BooleanKeyFrameAnimation {
InsertKeyFrame(&self, normalizedprogresskey: f32, value: bool) -> ::windows::runtime::Result<()>1156     pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, value: bool) -> ::windows::runtime::Result<()> {
1157         let this = self;
1158         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), normalizedprogresskey, value).ok() }
1159     }
1160     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>1161     pub fn Close(&self) -> ::windows::runtime::Result<()> {
1162         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
1163         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1164     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>1165     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
1166         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1167         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1168     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>1169     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
1170         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1171         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
1172     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1173     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1174         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1175         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1176     }
1177     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1178     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1179         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1180         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1181     }
1182     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1183     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1184         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1185         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1186     }
1187     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1188     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1189         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1190         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1191     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>1192     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
1193         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1194         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
1195     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>1196     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
1197         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1198         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
1199     }
1200     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1201     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1202         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1203         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1204     }
1205     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1206     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1207         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1208         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1209     }
1210     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1211     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1212         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1213         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1214     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>1215     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
1216         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1217         unsafe {
1218             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1219             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
1220         }
1221     }
1222     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>1223     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
1224         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1225         unsafe {
1226             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1227             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
1228         }
1229     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>1230     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
1231         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1232         unsafe {
1233             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1234             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
1235         }
1236     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>1237     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
1238         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1239         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
1240     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>1241     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
1242         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1243         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
1244     }
1245     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1246     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1247         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1248         unsafe {
1249             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1250             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1251         }
1252     }
1253     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>1254     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1255         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1256         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1257     }
1258     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>1259     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
1260         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1261         unsafe {
1262             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
1263             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
1264         }
1265     }
1266     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>1267     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1268         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1269         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1270     }
IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior>1271     pub fn IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior> {
1272         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1273         unsafe {
1274             let mut result__: AnimationIterationBehavior = ::std::mem::zeroed();
1275             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationIterationBehavior>(result__)
1276         }
1277     }
SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()>1278     pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()> {
1279         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1280         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
1281     }
IterationCount(&self) -> ::windows::runtime::Result<i32>1282     pub fn IterationCount(&self) -> ::windows::runtime::Result<i32> {
1283         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1284         unsafe {
1285             let mut result__: i32 = ::std::mem::zeroed();
1286             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1287         }
1288     }
SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()>1289     pub fn SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()> {
1290         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1291         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
1292     }
KeyFrameCount(&self) -> ::windows::runtime::Result<i32>1293     pub fn KeyFrameCount(&self) -> ::windows::runtime::Result<i32> {
1294         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1295         unsafe {
1296             let mut result__: i32 = ::std::mem::zeroed();
1297             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1298         }
1299     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>1300     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
1301         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1302         unsafe {
1303             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
1304             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
1305         }
1306     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>1307     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
1308         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1309         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
1310     }
InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>1311     pub fn InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
1312         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1313         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
1314     }
InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>1315     pub fn InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
1316         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
1317         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
1318     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>1319     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
1320         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
1321         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
1322     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1323     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1324         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
1325         unsafe {
1326             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1327             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1328         }
1329     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1330     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1331         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
1332         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1333     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1334     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1335         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1336         unsafe {
1337             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1338             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1339         }
1340     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1341     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1342         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1343         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1344     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>1345     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
1346         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1347         unsafe {
1348             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1349             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
1350         }
1351     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>1352     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1353         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1354         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1355     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>1356     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1357         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1358         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1359     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>1360     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1361         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1362         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1363     }
Direction(&self) -> ::windows::runtime::Result<AnimationDirection>1364     pub fn Direction(&self) -> ::windows::runtime::Result<AnimationDirection> {
1365         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
1366         unsafe {
1367             let mut result__: AnimationDirection = ::std::mem::zeroed();
1368             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDirection>(result__)
1369         }
1370     }
SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()>1371     pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()> {
1372         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
1373         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1374     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>1375     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
1376         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
1377         unsafe {
1378             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
1379             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
1380         }
1381     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>1382     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
1383         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
1384         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1385     }
1386     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>1387     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
1388         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
1389         unsafe {
1390             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1391             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
1392         }
1393     }
1394     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>1395     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
1396         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
1397         unsafe {
1398             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1399             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
1400         }
1401     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>1402     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
1403         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
1404         unsafe {
1405             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1406             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
1407         }
1408     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>1409     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
1410         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
1411         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
1412     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>1413     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
1414         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
1415         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
1416     }
1417 }
1418 unsafe impl ::windows::runtime::RuntimeType for BooleanKeyFrameAnimation {
1419     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BooleanKeyFrameAnimation;{95e23a08-d1f4-4972-9770-3efe68d82e14})");
1420 }
1421 unsafe impl ::windows::runtime::Interface for BooleanKeyFrameAnimation {
1422     type Vtable = IBooleanKeyFrameAnimation_abi;
1423     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2514631176, 53748, 18802, [151, 112, 62, 254, 104, 216, 46, 20]);
1424 }
1425 impl ::windows::runtime::RuntimeName for BooleanKeyFrameAnimation {
1426     const NAME: &'static str = "Windows.UI.Composition.BooleanKeyFrameAnimation";
1427 }
1428 impl ::std::convert::From<BooleanKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: BooleanKeyFrameAnimation) -> Self1429     fn from(value: BooleanKeyFrameAnimation) -> Self {
1430         unsafe { ::std::mem::transmute(value) }
1431     }
1432 }
1433 impl ::std::convert::From<&BooleanKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: &BooleanKeyFrameAnimation) -> Self1434     fn from(value: &BooleanKeyFrameAnimation) -> Self {
1435         ::std::convert::From::from(::std::clone::Clone::clone(value))
1436     }
1437 }
1438 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1439     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1440         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1441     }
1442 }
1443 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1444     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1445         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1446     }
1447 }
1448 impl ::std::convert::From<BooleanKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: BooleanKeyFrameAnimation) -> Self1449     fn from(value: BooleanKeyFrameAnimation) -> Self {
1450         value.0
1451     }
1452 }
1453 impl ::std::convert::From<&BooleanKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: &BooleanKeyFrameAnimation) -> Self1454     fn from(value: &BooleanKeyFrameAnimation) -> Self {
1455         value.0.clone()
1456     }
1457 }
1458 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1459     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1460         ::windows::runtime::Param::Owned(self.0)
1461     }
1462 }
1463 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1464     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1465         ::windows::runtime::Param::Borrowed(&self.0)
1466     }
1467 }
1468 #[cfg(feature = "Foundation")]
1469 impl ::std::convert::TryFrom<BooleanKeyFrameAnimation> for super::super::Foundation::IClosable {
1470     type Error = ::windows::runtime::Error;
try_from(value: BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self>1471     fn try_from(value: BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
1472         ::std::convert::TryFrom::try_from(&value)
1473     }
1474 }
1475 #[cfg(feature = "Foundation")]
1476 impl ::std::convert::TryFrom<&BooleanKeyFrameAnimation> for super::super::Foundation::IClosable {
1477     type Error = ::windows::runtime::Error;
try_from(value: &BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self>1478     fn try_from(value: &BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
1479         ::windows::runtime::Interface::cast(value)
1480     }
1481 }
1482 #[cfg(feature = "Foundation")]
1483 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1484     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1485         ::windows::runtime::IntoParam::into_param(&self)
1486     }
1487 }
1488 #[cfg(feature = "Foundation")]
1489 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1490     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1491         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1492     }
1493 }
1494 impl ::std::convert::TryFrom<BooleanKeyFrameAnimation> for ICompositionAnimationBase {
1495     type Error = ::windows::runtime::Error;
try_from(value: BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self>1496     fn try_from(value: BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
1497         ::std::convert::TryFrom::try_from(&value)
1498     }
1499 }
1500 impl ::std::convert::TryFrom<&BooleanKeyFrameAnimation> for ICompositionAnimationBase {
1501     type Error = ::windows::runtime::Error;
try_from(value: &BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self>1502     fn try_from(value: &BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
1503         ::windows::runtime::Interface::cast(value)
1504     }
1505 }
1506 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>1507     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
1508         ::windows::runtime::IntoParam::into_param(&self)
1509     }
1510 }
1511 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>1512     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
1513         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1514     }
1515 }
1516 impl ::std::convert::TryFrom<BooleanKeyFrameAnimation> for IAnimationObject {
1517     type Error = ::windows::runtime::Error;
try_from(value: BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self>1518     fn try_from(value: BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
1519         ::std::convert::TryFrom::try_from(&value)
1520     }
1521 }
1522 impl ::std::convert::TryFrom<&BooleanKeyFrameAnimation> for IAnimationObject {
1523     type Error = ::windows::runtime::Error;
try_from(value: &BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self>1524     fn try_from(value: &BooleanKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
1525         ::windows::runtime::Interface::cast(value)
1526     }
1527 }
1528 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>1529     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
1530         ::windows::runtime::IntoParam::into_param(&self)
1531     }
1532 }
1533 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>1534     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
1535         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1536     }
1537 }
1538 impl ::std::convert::From<BooleanKeyFrameAnimation> for KeyFrameAnimation {
from(value: BooleanKeyFrameAnimation) -> Self1539     fn from(value: BooleanKeyFrameAnimation) -> Self {
1540         ::std::convert::Into::<KeyFrameAnimation>::into(&value)
1541     }
1542 }
1543 impl ::std::convert::From<&BooleanKeyFrameAnimation> for KeyFrameAnimation {
from(value: &BooleanKeyFrameAnimation) -> Self1544     fn from(value: &BooleanKeyFrameAnimation) -> Self {
1545         ::windows::runtime::Interface::cast(value).unwrap()
1546     }
1547 }
1548 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>1549     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
1550         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(self))
1551     }
1552 }
1553 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for &BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>1554     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
1555         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(::std::clone::Clone::clone(self)))
1556     }
1557 }
1558 impl ::std::convert::From<BooleanKeyFrameAnimation> for CompositionAnimation {
from(value: BooleanKeyFrameAnimation) -> Self1559     fn from(value: BooleanKeyFrameAnimation) -> Self {
1560         ::std::convert::Into::<CompositionAnimation>::into(&value)
1561     }
1562 }
1563 impl ::std::convert::From<&BooleanKeyFrameAnimation> for CompositionAnimation {
from(value: &BooleanKeyFrameAnimation) -> Self1564     fn from(value: &BooleanKeyFrameAnimation) -> Self {
1565         ::windows::runtime::Interface::cast(value).unwrap()
1566     }
1567 }
1568 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>1569     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
1570         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
1571     }
1572 }
1573 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>1574     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
1575         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
1576     }
1577 }
1578 impl ::std::convert::From<BooleanKeyFrameAnimation> for CompositionObject {
from(value: BooleanKeyFrameAnimation) -> Self1579     fn from(value: BooleanKeyFrameAnimation) -> Self {
1580         ::std::convert::Into::<CompositionObject>::into(&value)
1581     }
1582 }
1583 impl ::std::convert::From<&BooleanKeyFrameAnimation> for CompositionObject {
from(value: &BooleanKeyFrameAnimation) -> Self1584     fn from(value: &BooleanKeyFrameAnimation) -> Self {
1585         ::windows::runtime::Interface::cast(value).unwrap()
1586     }
1587 }
1588 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>1589     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
1590         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
1591     }
1592 }
1593 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &BooleanKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>1594     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
1595         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
1596     }
1597 }
1598 unsafe impl ::std::marker::Send for BooleanKeyFrameAnimation {}
1599 unsafe impl ::std::marker::Sync for BooleanKeyFrameAnimation {}
1600 #[repr(transparent)]
1601 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1602 pub struct BounceEasingFunction(::windows::runtime::IInspectable);
1603 impl BounceEasingFunction {
Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode>1604     pub fn Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode> {
1605         let this = self;
1606         unsafe {
1607             let mut result__: CompositionEasingFunctionMode = ::std::mem::zeroed();
1608             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEasingFunctionMode>(result__)
1609         }
1610     }
Bounces(&self) -> ::windows::runtime::Result<i32>1611     pub fn Bounces(&self) -> ::windows::runtime::Result<i32> {
1612         let this = self;
1613         unsafe {
1614             let mut result__: i32 = ::std::mem::zeroed();
1615             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1616         }
1617     }
Bounciness(&self) -> ::windows::runtime::Result<f32>1618     pub fn Bounciness(&self) -> ::windows::runtime::Result<f32> {
1619         let this = self;
1620         unsafe {
1621             let mut result__: f32 = ::std::mem::zeroed();
1622             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1623         }
1624     }
1625     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>1626     pub fn Close(&self) -> ::windows::runtime::Result<()> {
1627         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
1628         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1629     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>1630     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
1631         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1632         unsafe {
1633             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1634             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
1635         }
1636     }
1637     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>1638     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
1639         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1640         unsafe {
1641             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1642             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
1643         }
1644     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>1645     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
1646         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1647         unsafe {
1648             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1649             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
1650         }
1651     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>1652     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
1653         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1654         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
1655     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>1656     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
1657         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1658         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
1659     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1660     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1661         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1662         unsafe {
1663             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1664             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1665         }
1666     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1667     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1668         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1669         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1670     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>1671     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
1672         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1673         unsafe {
1674             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1675             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
1676         }
1677     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>1678     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1679         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1680         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1681     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>1682     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1683         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1684         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1685     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>1686     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1687         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1688         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1689     }
1690     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>1691     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
1692         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
1693         unsafe {
1694             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1695             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
1696         }
1697     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>1698     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
1699         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
1700         unsafe {
1701             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1702             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
1703         }
1704     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>1705     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
1706         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
1707         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
1708     }
1709 }
1710 unsafe impl ::windows::runtime::RuntimeType for BounceEasingFunction {
1711     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BounceEasingFunction;{e7fdb44b-aad5-5174-9421-eef8b75a6a43})");
1712 }
1713 unsafe impl ::windows::runtime::Interface for BounceEasingFunction {
1714     type Vtable = IBounceEasingFunction_abi;
1715     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3892163659, 43733, 20852, [148, 33, 238, 248, 183, 90, 106, 67]);
1716 }
1717 impl ::windows::runtime::RuntimeName for BounceEasingFunction {
1718     const NAME: &'static str = "Windows.UI.Composition.BounceEasingFunction";
1719 }
1720 impl ::std::convert::From<BounceEasingFunction> for ::windows::runtime::IUnknown {
from(value: BounceEasingFunction) -> Self1721     fn from(value: BounceEasingFunction) -> Self {
1722         unsafe { ::std::mem::transmute(value) }
1723     }
1724 }
1725 impl ::std::convert::From<&BounceEasingFunction> for ::windows::runtime::IUnknown {
from(value: &BounceEasingFunction) -> Self1726     fn from(value: &BounceEasingFunction) -> Self {
1727         ::std::convert::From::from(::std::clone::Clone::clone(value))
1728     }
1729 }
1730 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1731     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1732         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1733     }
1734 }
1735 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1736     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1737         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1738     }
1739 }
1740 impl ::std::convert::From<BounceEasingFunction> for ::windows::runtime::IInspectable {
from(value: BounceEasingFunction) -> Self1741     fn from(value: BounceEasingFunction) -> Self {
1742         value.0
1743     }
1744 }
1745 impl ::std::convert::From<&BounceEasingFunction> for ::windows::runtime::IInspectable {
from(value: &BounceEasingFunction) -> Self1746     fn from(value: &BounceEasingFunction) -> Self {
1747         value.0.clone()
1748     }
1749 }
1750 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1751     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1752         ::windows::runtime::Param::Owned(self.0)
1753     }
1754 }
1755 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1756     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1757         ::windows::runtime::Param::Borrowed(&self.0)
1758     }
1759 }
1760 #[cfg(feature = "Foundation")]
1761 impl ::std::convert::TryFrom<BounceEasingFunction> for super::super::Foundation::IClosable {
1762     type Error = ::windows::runtime::Error;
try_from(value: BounceEasingFunction) -> ::windows::runtime::Result<Self>1763     fn try_from(value: BounceEasingFunction) -> ::windows::runtime::Result<Self> {
1764         ::std::convert::TryFrom::try_from(&value)
1765     }
1766 }
1767 #[cfg(feature = "Foundation")]
1768 impl ::std::convert::TryFrom<&BounceEasingFunction> for super::super::Foundation::IClosable {
1769     type Error = ::windows::runtime::Error;
try_from(value: &BounceEasingFunction) -> ::windows::runtime::Result<Self>1770     fn try_from(value: &BounceEasingFunction) -> ::windows::runtime::Result<Self> {
1771         ::windows::runtime::Interface::cast(value)
1772     }
1773 }
1774 #[cfg(feature = "Foundation")]
1775 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1776     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1777         ::windows::runtime::IntoParam::into_param(&self)
1778     }
1779 }
1780 #[cfg(feature = "Foundation")]
1781 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1782     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1783         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1784     }
1785 }
1786 impl ::std::convert::TryFrom<BounceEasingFunction> for IAnimationObject {
1787     type Error = ::windows::runtime::Error;
try_from(value: BounceEasingFunction) -> ::windows::runtime::Result<Self>1788     fn try_from(value: BounceEasingFunction) -> ::windows::runtime::Result<Self> {
1789         ::std::convert::TryFrom::try_from(&value)
1790     }
1791 }
1792 impl ::std::convert::TryFrom<&BounceEasingFunction> for IAnimationObject {
1793     type Error = ::windows::runtime::Error;
try_from(value: &BounceEasingFunction) -> ::windows::runtime::Result<Self>1794     fn try_from(value: &BounceEasingFunction) -> ::windows::runtime::Result<Self> {
1795         ::windows::runtime::Interface::cast(value)
1796     }
1797 }
1798 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>1799     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
1800         ::windows::runtime::IntoParam::into_param(&self)
1801     }
1802 }
1803 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>1804     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
1805         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1806     }
1807 }
1808 impl ::std::convert::From<BounceEasingFunction> for CompositionEasingFunction {
from(value: BounceEasingFunction) -> Self1809     fn from(value: BounceEasingFunction) -> Self {
1810         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
1811     }
1812 }
1813 impl ::std::convert::From<&BounceEasingFunction> for CompositionEasingFunction {
from(value: &BounceEasingFunction) -> Self1814     fn from(value: &BounceEasingFunction) -> Self {
1815         ::windows::runtime::Interface::cast(value).unwrap()
1816     }
1817 }
1818 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>1819     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
1820         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
1821     }
1822 }
1823 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>1824     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
1825         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
1826     }
1827 }
1828 impl ::std::convert::From<BounceEasingFunction> for CompositionObject {
from(value: BounceEasingFunction) -> Self1829     fn from(value: BounceEasingFunction) -> Self {
1830         ::std::convert::Into::<CompositionObject>::into(&value)
1831     }
1832 }
1833 impl ::std::convert::From<&BounceEasingFunction> for CompositionObject {
from(value: &BounceEasingFunction) -> Self1834     fn from(value: &BounceEasingFunction) -> Self {
1835         ::windows::runtime::Interface::cast(value).unwrap()
1836     }
1837 }
1838 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>1839     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
1840         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
1841     }
1842 }
1843 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &BounceEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>1844     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
1845         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
1846     }
1847 }
1848 unsafe impl ::std::marker::Send for BounceEasingFunction {}
1849 unsafe impl ::std::marker::Sync for BounceEasingFunction {}
1850 #[repr(transparent)]
1851 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1852 pub struct BounceScalarNaturalMotionAnimation(::windows::runtime::IInspectable);
1853 impl BounceScalarNaturalMotionAnimation {
Acceleration(&self) -> ::windows::runtime::Result<f32>1854     pub fn Acceleration(&self) -> ::windows::runtime::Result<f32> {
1855         let this = self;
1856         unsafe {
1857             let mut result__: f32 = ::std::mem::zeroed();
1858             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1859         }
1860     }
SetAcceleration(&self, value: f32) -> ::windows::runtime::Result<()>1861     pub fn SetAcceleration(&self, value: f32) -> ::windows::runtime::Result<()> {
1862         let this = self;
1863         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1864     }
Restitution(&self) -> ::windows::runtime::Result<f32>1865     pub fn Restitution(&self) -> ::windows::runtime::Result<f32> {
1866         let this = self;
1867         unsafe {
1868             let mut result__: f32 = ::std::mem::zeroed();
1869             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1870         }
1871     }
SetRestitution(&self, value: f32) -> ::windows::runtime::Result<()>1872     pub fn SetRestitution(&self, value: f32) -> ::windows::runtime::Result<()> {
1873         let this = self;
1874         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
1875     }
1876     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>1877     pub fn Close(&self) -> ::windows::runtime::Result<()> {
1878         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
1879         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1880     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>1881     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
1882         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1883         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1884     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>1885     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
1886         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1887         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
1888     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1889     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1890         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1891         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1892     }
1893     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1894     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1895         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1896         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1897     }
1898     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1899     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1900         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1901         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1902     }
1903     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1904     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1905         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1906         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1907     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>1908     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
1909         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1910         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
1911     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>1912     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
1913         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1914         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
1915     }
1916     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1917     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1918         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1919         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1920     }
1921     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1922     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1923         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1924         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1925     }
1926     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>1927     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
1928         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
1929         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
1930     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>1931     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
1932         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1933         unsafe {
1934             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1935             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
1936         }
1937     }
1938     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>1939     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
1940         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1941         unsafe {
1942             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1943             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
1944         }
1945     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>1946     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
1947         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1948         unsafe {
1949             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1950             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
1951         }
1952     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>1953     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
1954         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1955         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
1956     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>1957     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
1958         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
1959         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
1960     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>1961     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
1962         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
1963         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
1964     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1965     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1966         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
1967         unsafe {
1968             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1969             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1970         }
1971     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1972     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1973         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
1974         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1975     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1976     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1977         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1978         unsafe {
1979             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1980             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1981         }
1982     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1983     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1984         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1985         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1986     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>1987     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
1988         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1989         unsafe {
1990             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1991             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
1992         }
1993     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>1994     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1995         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
1996         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1997     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>1998     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1999         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2000         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2001     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2002     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2003         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2004         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2005     }
2006     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>2007     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
2008         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
2009         unsafe {
2010             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2011             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
2012         }
2013     }
2014     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>2015     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
2016         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
2017         unsafe {
2018             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2019             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
2020         }
2021     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>2022     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
2023         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2024         unsafe {
2025             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
2026             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
2027         }
2028     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>2029     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
2030         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2031         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2032     }
2033     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>2034     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
2035         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2036         unsafe {
2037             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
2038             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
2039         }
2040     }
2041     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>2042     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2043         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2044         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2045     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>2046     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
2047         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2048         unsafe {
2049             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
2050             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
2051         }
2052     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>2053     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
2054         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2055         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
2056     }
2057     #[cfg(feature = "Foundation")]
FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>>2058     pub fn FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>> {
2059         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
2060         unsafe {
2061             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2062             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f32>>(result__)
2063         }
2064     }
2065     #[cfg(feature = "Foundation")]
SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()>2066     pub fn SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2067         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
2068         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2069     }
2070     #[cfg(feature = "Foundation")]
InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>>2071     pub fn InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>> {
2072         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
2073         unsafe {
2074             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2075             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f32>>(result__)
2076         }
2077     }
2078     #[cfg(feature = "Foundation")]
SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()>2079     pub fn SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2080         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
2081         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2082     }
InitialVelocity(&self) -> ::windows::runtime::Result<f32>2083     pub fn InitialVelocity(&self) -> ::windows::runtime::Result<f32> {
2084         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
2085         unsafe {
2086             let mut result__: f32 = ::std::mem::zeroed();
2087             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
2088         }
2089     }
SetInitialVelocity(&self, value: f32) -> ::windows::runtime::Result<()>2090     pub fn SetInitialVelocity(&self, value: f32) -> ::windows::runtime::Result<()> {
2091         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
2092         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
2093     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>2094     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
2095         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
2096         unsafe {
2097             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2098             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
2099         }
2100     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>2101     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
2102         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
2103         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
2104     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>2105     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
2106         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
2107         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
2108     }
2109 }
2110 unsafe impl ::windows::runtime::RuntimeType for BounceScalarNaturalMotionAnimation {
2111     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BounceScalarNaturalMotionAnimation;{baa30dcc-a633-4618-9b06-7f7c72c87cff})");
2112 }
2113 unsafe impl ::windows::runtime::Interface for BounceScalarNaturalMotionAnimation {
2114     type Vtable = IBounceScalarNaturalMotionAnimation_abi;
2115     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3131248076, 42547, 17944, [155, 6, 127, 124, 114, 200, 124, 255]);
2116 }
2117 impl ::windows::runtime::RuntimeName for BounceScalarNaturalMotionAnimation {
2118     const NAME: &'static str = "Windows.UI.Composition.BounceScalarNaturalMotionAnimation";
2119 }
2120 impl ::std::convert::From<BounceScalarNaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: BounceScalarNaturalMotionAnimation) -> Self2121     fn from(value: BounceScalarNaturalMotionAnimation) -> Self {
2122         unsafe { ::std::mem::transmute(value) }
2123     }
2124 }
2125 impl ::std::convert::From<&BounceScalarNaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &BounceScalarNaturalMotionAnimation) -> Self2126     fn from(value: &BounceScalarNaturalMotionAnimation) -> Self {
2127         ::std::convert::From::from(::std::clone::Clone::clone(value))
2128     }
2129 }
2130 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2131     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2132         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2133     }
2134 }
2135 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2136     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2137         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2138     }
2139 }
2140 impl ::std::convert::From<BounceScalarNaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: BounceScalarNaturalMotionAnimation) -> Self2141     fn from(value: BounceScalarNaturalMotionAnimation) -> Self {
2142         value.0
2143     }
2144 }
2145 impl ::std::convert::From<&BounceScalarNaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &BounceScalarNaturalMotionAnimation) -> Self2146     fn from(value: &BounceScalarNaturalMotionAnimation) -> Self {
2147         value.0.clone()
2148     }
2149 }
2150 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2151     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2152         ::windows::runtime::Param::Owned(self.0)
2153     }
2154 }
2155 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2156     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2157         ::windows::runtime::Param::Borrowed(&self.0)
2158     }
2159 }
2160 #[cfg(feature = "Foundation")]
2161 impl ::std::convert::TryFrom<BounceScalarNaturalMotionAnimation> for super::super::Foundation::IClosable {
2162     type Error = ::windows::runtime::Error;
try_from(value: BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>2163     fn try_from(value: BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2164         ::std::convert::TryFrom::try_from(&value)
2165     }
2166 }
2167 #[cfg(feature = "Foundation")]
2168 impl ::std::convert::TryFrom<&BounceScalarNaturalMotionAnimation> for super::super::Foundation::IClosable {
2169     type Error = ::windows::runtime::Error;
try_from(value: &BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>2170     fn try_from(value: &BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2171         ::windows::runtime::Interface::cast(value)
2172     }
2173 }
2174 #[cfg(feature = "Foundation")]
2175 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>2176     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
2177         ::windows::runtime::IntoParam::into_param(&self)
2178     }
2179 }
2180 #[cfg(feature = "Foundation")]
2181 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>2182     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
2183         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2184     }
2185 }
2186 impl ::std::convert::TryFrom<BounceScalarNaturalMotionAnimation> for ICompositionAnimationBase {
2187     type Error = ::windows::runtime::Error;
try_from(value: BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>2188     fn try_from(value: BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2189         ::std::convert::TryFrom::try_from(&value)
2190     }
2191 }
2192 impl ::std::convert::TryFrom<&BounceScalarNaturalMotionAnimation> for ICompositionAnimationBase {
2193     type Error = ::windows::runtime::Error;
try_from(value: &BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>2194     fn try_from(value: &BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2195         ::windows::runtime::Interface::cast(value)
2196     }
2197 }
2198 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>2199     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
2200         ::windows::runtime::IntoParam::into_param(&self)
2201     }
2202 }
2203 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>2204     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
2205         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2206     }
2207 }
2208 impl ::std::convert::TryFrom<BounceScalarNaturalMotionAnimation> for IAnimationObject {
2209     type Error = ::windows::runtime::Error;
try_from(value: BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>2210     fn try_from(value: BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2211         ::std::convert::TryFrom::try_from(&value)
2212     }
2213 }
2214 impl ::std::convert::TryFrom<&BounceScalarNaturalMotionAnimation> for IAnimationObject {
2215     type Error = ::windows::runtime::Error;
try_from(value: &BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>2216     fn try_from(value: &BounceScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2217         ::windows::runtime::Interface::cast(value)
2218     }
2219 }
2220 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>2221     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
2222         ::windows::runtime::IntoParam::into_param(&self)
2223     }
2224 }
2225 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>2226     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
2227         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2228     }
2229 }
2230 impl ::std::convert::From<BounceScalarNaturalMotionAnimation> for ScalarNaturalMotionAnimation {
from(value: BounceScalarNaturalMotionAnimation) -> Self2231     fn from(value: BounceScalarNaturalMotionAnimation) -> Self {
2232         ::std::convert::Into::<ScalarNaturalMotionAnimation>::into(&value)
2233     }
2234 }
2235 impl ::std::convert::From<&BounceScalarNaturalMotionAnimation> for ScalarNaturalMotionAnimation {
from(value: &BounceScalarNaturalMotionAnimation) -> Self2236     fn from(value: &BounceScalarNaturalMotionAnimation) -> Self {
2237         ::windows::runtime::Interface::cast(value).unwrap()
2238     }
2239 }
2240 impl<'a> ::windows::runtime::IntoParam<'a, ScalarNaturalMotionAnimation> for BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ScalarNaturalMotionAnimation>2241     fn into_param(self) -> ::windows::runtime::Param<'a, ScalarNaturalMotionAnimation> {
2242         ::windows::runtime::Param::Owned(::std::convert::Into::<ScalarNaturalMotionAnimation>::into(self))
2243     }
2244 }
2245 impl<'a> ::windows::runtime::IntoParam<'a, ScalarNaturalMotionAnimation> for &BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ScalarNaturalMotionAnimation>2246     fn into_param(self) -> ::windows::runtime::Param<'a, ScalarNaturalMotionAnimation> {
2247         ::windows::runtime::Param::Owned(::std::convert::Into::<ScalarNaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
2248     }
2249 }
2250 impl ::std::convert::From<BounceScalarNaturalMotionAnimation> for NaturalMotionAnimation {
from(value: BounceScalarNaturalMotionAnimation) -> Self2251     fn from(value: BounceScalarNaturalMotionAnimation) -> Self {
2252         ::std::convert::Into::<NaturalMotionAnimation>::into(&value)
2253     }
2254 }
2255 impl ::std::convert::From<&BounceScalarNaturalMotionAnimation> for NaturalMotionAnimation {
from(value: &BounceScalarNaturalMotionAnimation) -> Self2256     fn from(value: &BounceScalarNaturalMotionAnimation) -> Self {
2257         ::windows::runtime::Interface::cast(value).unwrap()
2258     }
2259 }
2260 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>2261     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
2262         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(self))
2263     }
2264 }
2265 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for &BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>2266     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
2267         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
2268     }
2269 }
2270 impl ::std::convert::From<BounceScalarNaturalMotionAnimation> for CompositionAnimation {
from(value: BounceScalarNaturalMotionAnimation) -> Self2271     fn from(value: BounceScalarNaturalMotionAnimation) -> Self {
2272         ::std::convert::Into::<CompositionAnimation>::into(&value)
2273     }
2274 }
2275 impl ::std::convert::From<&BounceScalarNaturalMotionAnimation> for CompositionAnimation {
from(value: &BounceScalarNaturalMotionAnimation) -> Self2276     fn from(value: &BounceScalarNaturalMotionAnimation) -> Self {
2277         ::windows::runtime::Interface::cast(value).unwrap()
2278     }
2279 }
2280 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>2281     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
2282         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
2283     }
2284 }
2285 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>2286     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
2287         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
2288     }
2289 }
2290 impl ::std::convert::From<BounceScalarNaturalMotionAnimation> for CompositionObject {
from(value: BounceScalarNaturalMotionAnimation) -> Self2291     fn from(value: BounceScalarNaturalMotionAnimation) -> Self {
2292         ::std::convert::Into::<CompositionObject>::into(&value)
2293     }
2294 }
2295 impl ::std::convert::From<&BounceScalarNaturalMotionAnimation> for CompositionObject {
from(value: &BounceScalarNaturalMotionAnimation) -> Self2296     fn from(value: &BounceScalarNaturalMotionAnimation) -> Self {
2297         ::windows::runtime::Interface::cast(value).unwrap()
2298     }
2299 }
2300 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>2301     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
2302         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
2303     }
2304 }
2305 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &BounceScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>2306     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
2307         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
2308     }
2309 }
2310 unsafe impl ::std::marker::Send for BounceScalarNaturalMotionAnimation {}
2311 unsafe impl ::std::marker::Sync for BounceScalarNaturalMotionAnimation {}
2312 #[repr(transparent)]
2313 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2314 pub struct BounceVector2NaturalMotionAnimation(::windows::runtime::IInspectable);
2315 impl BounceVector2NaturalMotionAnimation {
Acceleration(&self) -> ::windows::runtime::Result<f32>2316     pub fn Acceleration(&self) -> ::windows::runtime::Result<f32> {
2317         let this = self;
2318         unsafe {
2319             let mut result__: f32 = ::std::mem::zeroed();
2320             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
2321         }
2322     }
SetAcceleration(&self, value: f32) -> ::windows::runtime::Result<()>2323     pub fn SetAcceleration(&self, value: f32) -> ::windows::runtime::Result<()> {
2324         let this = self;
2325         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2326     }
Restitution(&self) -> ::windows::runtime::Result<f32>2327     pub fn Restitution(&self) -> ::windows::runtime::Result<f32> {
2328         let this = self;
2329         unsafe {
2330             let mut result__: f32 = ::std::mem::zeroed();
2331             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
2332         }
2333     }
SetRestitution(&self, value: f32) -> ::windows::runtime::Result<()>2334     pub fn SetRestitution(&self, value: f32) -> ::windows::runtime::Result<()> {
2335         let this = self;
2336         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
2337     }
2338     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>2339     pub fn Close(&self) -> ::windows::runtime::Result<()> {
2340         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
2341         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2342     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>2343     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
2344         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2345         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2346     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>2347     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
2348         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2349         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
2350     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2351     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2352         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2353         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2354     }
2355     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2356     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2357         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2358         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2359     }
2360     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2361     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2362         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2363         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2364     }
2365     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2366     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2367         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2368         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2369     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>2370     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
2371         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2372         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
2373     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>2374     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
2375         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2376         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
2377     }
2378     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2379     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2380         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2381         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2382     }
2383     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2384     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2385         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2386         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2387     }
2388     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2389     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2390         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2391         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2392     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>2393     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
2394         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2395         unsafe {
2396             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2397             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
2398         }
2399     }
2400     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>2401     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
2402         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2403         unsafe {
2404             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2405             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
2406         }
2407     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>2408     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
2409         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2410         unsafe {
2411             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2412             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
2413         }
2414     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>2415     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
2416         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2417         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
2418     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>2419     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
2420         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2421         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
2422     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>2423     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
2424         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
2425         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
2426     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2427     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2428         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
2429         unsafe {
2430             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2431             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2432         }
2433     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2434     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2435         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
2436         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2437     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2438     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2439         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2440         unsafe {
2441             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2442             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2443         }
2444     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2445     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2446         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2447         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2448     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>2449     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
2450         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2451         unsafe {
2452             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2453             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
2454         }
2455     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>2456     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2457         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2458         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2459     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2460     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2461         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2462         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2463     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2464     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2465         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2466         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2467     }
2468     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>2469     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
2470         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
2471         unsafe {
2472             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2473             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
2474         }
2475     }
2476     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>2477     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
2478         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
2479         unsafe {
2480             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2481             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
2482         }
2483     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>2484     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
2485         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2486         unsafe {
2487             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
2488             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
2489         }
2490     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>2491     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
2492         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2493         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2494     }
2495     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>2496     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
2497         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2498         unsafe {
2499             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
2500             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
2501         }
2502     }
2503     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>2504     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2505         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2506         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2507     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>2508     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
2509         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2510         unsafe {
2511             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
2512             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
2513         }
2514     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>2515     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
2516         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2517         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
2518     }
2519     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>2520     pub fn FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
2521         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
2522         unsafe {
2523             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2524             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>(result__)
2525         }
2526     }
2527     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()>2528     pub fn SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2529         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
2530         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2531     }
2532     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>2533     pub fn InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
2534         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
2535         unsafe {
2536             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2537             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>(result__)
2538         }
2539     }
2540     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()>2541     pub fn SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2542         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
2543         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2544     }
2545     #[cfg(feature = "Foundation_Numerics")]
InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>2546     pub fn InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
2547         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
2548         unsafe {
2549             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
2550             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
2551         }
2552     }
2553     #[cfg(feature = "Foundation_Numerics")]
SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>2554     pub fn SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2555         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
2556         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2557     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>2558     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
2559         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
2560         unsafe {
2561             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2562             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
2563         }
2564     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>2565     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
2566         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
2567         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
2568     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>2569     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
2570         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
2571         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
2572     }
2573 }
2574 unsafe impl ::windows::runtime::RuntimeType for BounceVector2NaturalMotionAnimation {
2575     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BounceVector2NaturalMotionAnimation;{da344196-2154-4b3c-88aa-47361204eccd})");
2576 }
2577 unsafe impl ::windows::runtime::Interface for BounceVector2NaturalMotionAnimation {
2578     type Vtable = IBounceVector2NaturalMotionAnimation_abi;
2579     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3660857750, 8532, 19260, [136, 170, 71, 54, 18, 4, 236, 205]);
2580 }
2581 impl ::windows::runtime::RuntimeName for BounceVector2NaturalMotionAnimation {
2582     const NAME: &'static str = "Windows.UI.Composition.BounceVector2NaturalMotionAnimation";
2583 }
2584 impl ::std::convert::From<BounceVector2NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: BounceVector2NaturalMotionAnimation) -> Self2585     fn from(value: BounceVector2NaturalMotionAnimation) -> Self {
2586         unsafe { ::std::mem::transmute(value) }
2587     }
2588 }
2589 impl ::std::convert::From<&BounceVector2NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &BounceVector2NaturalMotionAnimation) -> Self2590     fn from(value: &BounceVector2NaturalMotionAnimation) -> Self {
2591         ::std::convert::From::from(::std::clone::Clone::clone(value))
2592     }
2593 }
2594 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2595     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2596         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2597     }
2598 }
2599 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2600     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2601         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2602     }
2603 }
2604 impl ::std::convert::From<BounceVector2NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: BounceVector2NaturalMotionAnimation) -> Self2605     fn from(value: BounceVector2NaturalMotionAnimation) -> Self {
2606         value.0
2607     }
2608 }
2609 impl ::std::convert::From<&BounceVector2NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &BounceVector2NaturalMotionAnimation) -> Self2610     fn from(value: &BounceVector2NaturalMotionAnimation) -> Self {
2611         value.0.clone()
2612     }
2613 }
2614 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2615     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2616         ::windows::runtime::Param::Owned(self.0)
2617     }
2618 }
2619 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2620     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2621         ::windows::runtime::Param::Borrowed(&self.0)
2622     }
2623 }
2624 #[cfg(feature = "Foundation")]
2625 impl ::std::convert::TryFrom<BounceVector2NaturalMotionAnimation> for super::super::Foundation::IClosable {
2626     type Error = ::windows::runtime::Error;
try_from(value: BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>2627     fn try_from(value: BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2628         ::std::convert::TryFrom::try_from(&value)
2629     }
2630 }
2631 #[cfg(feature = "Foundation")]
2632 impl ::std::convert::TryFrom<&BounceVector2NaturalMotionAnimation> for super::super::Foundation::IClosable {
2633     type Error = ::windows::runtime::Error;
try_from(value: &BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>2634     fn try_from(value: &BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2635         ::windows::runtime::Interface::cast(value)
2636     }
2637 }
2638 #[cfg(feature = "Foundation")]
2639 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>2640     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
2641         ::windows::runtime::IntoParam::into_param(&self)
2642     }
2643 }
2644 #[cfg(feature = "Foundation")]
2645 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>2646     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
2647         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2648     }
2649 }
2650 impl ::std::convert::TryFrom<BounceVector2NaturalMotionAnimation> for ICompositionAnimationBase {
2651     type Error = ::windows::runtime::Error;
try_from(value: BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>2652     fn try_from(value: BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2653         ::std::convert::TryFrom::try_from(&value)
2654     }
2655 }
2656 impl ::std::convert::TryFrom<&BounceVector2NaturalMotionAnimation> for ICompositionAnimationBase {
2657     type Error = ::windows::runtime::Error;
try_from(value: &BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>2658     fn try_from(value: &BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2659         ::windows::runtime::Interface::cast(value)
2660     }
2661 }
2662 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>2663     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
2664         ::windows::runtime::IntoParam::into_param(&self)
2665     }
2666 }
2667 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>2668     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
2669         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2670     }
2671 }
2672 impl ::std::convert::TryFrom<BounceVector2NaturalMotionAnimation> for IAnimationObject {
2673     type Error = ::windows::runtime::Error;
try_from(value: BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>2674     fn try_from(value: BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2675         ::std::convert::TryFrom::try_from(&value)
2676     }
2677 }
2678 impl ::std::convert::TryFrom<&BounceVector2NaturalMotionAnimation> for IAnimationObject {
2679     type Error = ::windows::runtime::Error;
try_from(value: &BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>2680     fn try_from(value: &BounceVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
2681         ::windows::runtime::Interface::cast(value)
2682     }
2683 }
2684 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>2685     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
2686         ::windows::runtime::IntoParam::into_param(&self)
2687     }
2688 }
2689 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>2690     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
2691         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2692     }
2693 }
2694 impl ::std::convert::From<BounceVector2NaturalMotionAnimation> for Vector2NaturalMotionAnimation {
from(value: BounceVector2NaturalMotionAnimation) -> Self2695     fn from(value: BounceVector2NaturalMotionAnimation) -> Self {
2696         ::std::convert::Into::<Vector2NaturalMotionAnimation>::into(&value)
2697     }
2698 }
2699 impl ::std::convert::From<&BounceVector2NaturalMotionAnimation> for Vector2NaturalMotionAnimation {
from(value: &BounceVector2NaturalMotionAnimation) -> Self2700     fn from(value: &BounceVector2NaturalMotionAnimation) -> Self {
2701         ::windows::runtime::Interface::cast(value).unwrap()
2702     }
2703 }
2704 impl<'a> ::windows::runtime::IntoParam<'a, Vector2NaturalMotionAnimation> for BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, Vector2NaturalMotionAnimation>2705     fn into_param(self) -> ::windows::runtime::Param<'a, Vector2NaturalMotionAnimation> {
2706         ::windows::runtime::Param::Owned(::std::convert::Into::<Vector2NaturalMotionAnimation>::into(self))
2707     }
2708 }
2709 impl<'a> ::windows::runtime::IntoParam<'a, Vector2NaturalMotionAnimation> for &BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, Vector2NaturalMotionAnimation>2710     fn into_param(self) -> ::windows::runtime::Param<'a, Vector2NaturalMotionAnimation> {
2711         ::windows::runtime::Param::Owned(::std::convert::Into::<Vector2NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
2712     }
2713 }
2714 impl ::std::convert::From<BounceVector2NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: BounceVector2NaturalMotionAnimation) -> Self2715     fn from(value: BounceVector2NaturalMotionAnimation) -> Self {
2716         ::std::convert::Into::<NaturalMotionAnimation>::into(&value)
2717     }
2718 }
2719 impl ::std::convert::From<&BounceVector2NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: &BounceVector2NaturalMotionAnimation) -> Self2720     fn from(value: &BounceVector2NaturalMotionAnimation) -> Self {
2721         ::windows::runtime::Interface::cast(value).unwrap()
2722     }
2723 }
2724 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>2725     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
2726         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(self))
2727     }
2728 }
2729 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for &BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>2730     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
2731         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
2732     }
2733 }
2734 impl ::std::convert::From<BounceVector2NaturalMotionAnimation> for CompositionAnimation {
from(value: BounceVector2NaturalMotionAnimation) -> Self2735     fn from(value: BounceVector2NaturalMotionAnimation) -> Self {
2736         ::std::convert::Into::<CompositionAnimation>::into(&value)
2737     }
2738 }
2739 impl ::std::convert::From<&BounceVector2NaturalMotionAnimation> for CompositionAnimation {
from(value: &BounceVector2NaturalMotionAnimation) -> Self2740     fn from(value: &BounceVector2NaturalMotionAnimation) -> Self {
2741         ::windows::runtime::Interface::cast(value).unwrap()
2742     }
2743 }
2744 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>2745     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
2746         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
2747     }
2748 }
2749 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>2750     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
2751         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
2752     }
2753 }
2754 impl ::std::convert::From<BounceVector2NaturalMotionAnimation> for CompositionObject {
from(value: BounceVector2NaturalMotionAnimation) -> Self2755     fn from(value: BounceVector2NaturalMotionAnimation) -> Self {
2756         ::std::convert::Into::<CompositionObject>::into(&value)
2757     }
2758 }
2759 impl ::std::convert::From<&BounceVector2NaturalMotionAnimation> for CompositionObject {
from(value: &BounceVector2NaturalMotionAnimation) -> Self2760     fn from(value: &BounceVector2NaturalMotionAnimation) -> Self {
2761         ::windows::runtime::Interface::cast(value).unwrap()
2762     }
2763 }
2764 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>2765     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
2766         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
2767     }
2768 }
2769 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &BounceVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>2770     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
2771         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
2772     }
2773 }
2774 unsafe impl ::std::marker::Send for BounceVector2NaturalMotionAnimation {}
2775 unsafe impl ::std::marker::Sync for BounceVector2NaturalMotionAnimation {}
2776 #[repr(transparent)]
2777 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2778 pub struct BounceVector3NaturalMotionAnimation(::windows::runtime::IInspectable);
2779 impl BounceVector3NaturalMotionAnimation {
Acceleration(&self) -> ::windows::runtime::Result<f32>2780     pub fn Acceleration(&self) -> ::windows::runtime::Result<f32> {
2781         let this = self;
2782         unsafe {
2783             let mut result__: f32 = ::std::mem::zeroed();
2784             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
2785         }
2786     }
SetAcceleration(&self, value: f32) -> ::windows::runtime::Result<()>2787     pub fn SetAcceleration(&self, value: f32) -> ::windows::runtime::Result<()> {
2788         let this = self;
2789         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2790     }
Restitution(&self) -> ::windows::runtime::Result<f32>2791     pub fn Restitution(&self) -> ::windows::runtime::Result<f32> {
2792         let this = self;
2793         unsafe {
2794             let mut result__: f32 = ::std::mem::zeroed();
2795             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
2796         }
2797     }
SetRestitution(&self, value: f32) -> ::windows::runtime::Result<()>2798     pub fn SetRestitution(&self, value: f32) -> ::windows::runtime::Result<()> {
2799         let this = self;
2800         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
2801     }
2802     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>2803     pub fn Close(&self) -> ::windows::runtime::Result<()> {
2804         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
2805         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2806     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>2807     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
2808         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2809         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2810     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>2811     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
2812         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2813         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
2814     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2815     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2816         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2817         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2818     }
2819     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2820     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2821         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2822         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2823     }
2824     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2825     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2826         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2827         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2828     }
2829     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2830     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2831         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2832         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2833     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>2834     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
2835         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2836         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
2837     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>2838     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
2839         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2840         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
2841     }
2842     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2843     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2844         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2845         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2846     }
2847     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2848     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2849         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2850         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2851     }
2852     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>2853     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
2854         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
2855         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
2856     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>2857     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
2858         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2859         unsafe {
2860             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2861             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
2862         }
2863     }
2864     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>2865     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
2866         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2867         unsafe {
2868             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2869             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
2870         }
2871     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>2872     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
2873         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2874         unsafe {
2875             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2876             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
2877         }
2878     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>2879     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
2880         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2881         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
2882     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>2883     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
2884         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
2885         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
2886     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>2887     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
2888         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
2889         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
2890     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2891     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2892         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
2893         unsafe {
2894             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2895             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2896         }
2897     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2898     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2899         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
2900         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2901     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2902     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2903         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2904         unsafe {
2905             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2906             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2907         }
2908     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2909     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2910         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2911         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2912     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>2913     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
2914         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2915         unsafe {
2916             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2917             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
2918         }
2919     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>2920     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2921         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2922         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2923     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2924     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2925         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2926         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2927     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>2928     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2929         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
2930         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2931     }
2932     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>2933     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
2934         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
2935         unsafe {
2936             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2937             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
2938         }
2939     }
2940     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>2941     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
2942         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
2943         unsafe {
2944             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2945             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
2946         }
2947     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>2948     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
2949         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2950         unsafe {
2951             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
2952             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
2953         }
2954     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>2955     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
2956         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2957         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2958     }
2959     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>2960     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
2961         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2962         unsafe {
2963             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
2964             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
2965         }
2966     }
2967     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>2968     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2969         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2970         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2971     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>2972     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
2973         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2974         unsafe {
2975             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
2976             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
2977         }
2978     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>2979     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
2980         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
2981         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
2982     }
2983     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>2984     pub fn FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
2985         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
2986         unsafe {
2987             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2988             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>(result__)
2989         }
2990     }
2991     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()>2992     pub fn SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2993         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
2994         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2995     }
2996     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>2997     pub fn InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
2998         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
2999         unsafe {
3000             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3001             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>(result__)
3002         }
3003     }
3004     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()>3005     pub fn SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3006         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
3007         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3008     }
3009     #[cfg(feature = "Foundation_Numerics")]
InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>3010     pub fn InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
3011         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
3012         unsafe {
3013             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
3014             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
3015         }
3016     }
3017     #[cfg(feature = "Foundation_Numerics")]
SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>3018     pub fn SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3019         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
3020         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3021     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>3022     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
3023         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
3024         unsafe {
3025             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3026             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
3027         }
3028     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>3029     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
3030         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
3031         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
3032     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>3033     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
3034         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
3035         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
3036     }
3037 }
3038 unsafe impl ::windows::runtime::RuntimeType for BounceVector3NaturalMotionAnimation {
3039     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.BounceVector3NaturalMotionAnimation;{47dabc31-10d3-4518-86f1-09caf742d113})");
3040 }
3041 unsafe impl ::windows::runtime::Interface for BounceVector3NaturalMotionAnimation {
3042     type Vtable = IBounceVector3NaturalMotionAnimation_abi;
3043     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1205517361, 4307, 17688, [134, 241, 9, 202, 247, 66, 209, 19]);
3044 }
3045 impl ::windows::runtime::RuntimeName for BounceVector3NaturalMotionAnimation {
3046     const NAME: &'static str = "Windows.UI.Composition.BounceVector3NaturalMotionAnimation";
3047 }
3048 impl ::std::convert::From<BounceVector3NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: BounceVector3NaturalMotionAnimation) -> Self3049     fn from(value: BounceVector3NaturalMotionAnimation) -> Self {
3050         unsafe { ::std::mem::transmute(value) }
3051     }
3052 }
3053 impl ::std::convert::From<&BounceVector3NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &BounceVector3NaturalMotionAnimation) -> Self3054     fn from(value: &BounceVector3NaturalMotionAnimation) -> Self {
3055         ::std::convert::From::from(::std::clone::Clone::clone(value))
3056     }
3057 }
3058 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3059     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3060         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3061     }
3062 }
3063 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3064     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3065         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3066     }
3067 }
3068 impl ::std::convert::From<BounceVector3NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: BounceVector3NaturalMotionAnimation) -> Self3069     fn from(value: BounceVector3NaturalMotionAnimation) -> Self {
3070         value.0
3071     }
3072 }
3073 impl ::std::convert::From<&BounceVector3NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &BounceVector3NaturalMotionAnimation) -> Self3074     fn from(value: &BounceVector3NaturalMotionAnimation) -> Self {
3075         value.0.clone()
3076     }
3077 }
3078 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3079     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3080         ::windows::runtime::Param::Owned(self.0)
3081     }
3082 }
3083 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3084     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3085         ::windows::runtime::Param::Borrowed(&self.0)
3086     }
3087 }
3088 #[cfg(feature = "Foundation")]
3089 impl ::std::convert::TryFrom<BounceVector3NaturalMotionAnimation> for super::super::Foundation::IClosable {
3090     type Error = ::windows::runtime::Error;
try_from(value: BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>3091     fn try_from(value: BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
3092         ::std::convert::TryFrom::try_from(&value)
3093     }
3094 }
3095 #[cfg(feature = "Foundation")]
3096 impl ::std::convert::TryFrom<&BounceVector3NaturalMotionAnimation> for super::super::Foundation::IClosable {
3097     type Error = ::windows::runtime::Error;
try_from(value: &BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>3098     fn try_from(value: &BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
3099         ::windows::runtime::Interface::cast(value)
3100     }
3101 }
3102 #[cfg(feature = "Foundation")]
3103 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>3104     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
3105         ::windows::runtime::IntoParam::into_param(&self)
3106     }
3107 }
3108 #[cfg(feature = "Foundation")]
3109 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>3110     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
3111         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3112     }
3113 }
3114 impl ::std::convert::TryFrom<BounceVector3NaturalMotionAnimation> for ICompositionAnimationBase {
3115     type Error = ::windows::runtime::Error;
try_from(value: BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>3116     fn try_from(value: BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
3117         ::std::convert::TryFrom::try_from(&value)
3118     }
3119 }
3120 impl ::std::convert::TryFrom<&BounceVector3NaturalMotionAnimation> for ICompositionAnimationBase {
3121     type Error = ::windows::runtime::Error;
try_from(value: &BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>3122     fn try_from(value: &BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
3123         ::windows::runtime::Interface::cast(value)
3124     }
3125 }
3126 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>3127     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
3128         ::windows::runtime::IntoParam::into_param(&self)
3129     }
3130 }
3131 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>3132     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
3133         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3134     }
3135 }
3136 impl ::std::convert::TryFrom<BounceVector3NaturalMotionAnimation> for IAnimationObject {
3137     type Error = ::windows::runtime::Error;
try_from(value: BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>3138     fn try_from(value: BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
3139         ::std::convert::TryFrom::try_from(&value)
3140     }
3141 }
3142 impl ::std::convert::TryFrom<&BounceVector3NaturalMotionAnimation> for IAnimationObject {
3143     type Error = ::windows::runtime::Error;
try_from(value: &BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>3144     fn try_from(value: &BounceVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
3145         ::windows::runtime::Interface::cast(value)
3146     }
3147 }
3148 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>3149     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
3150         ::windows::runtime::IntoParam::into_param(&self)
3151     }
3152 }
3153 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>3154     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
3155         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3156     }
3157 }
3158 impl ::std::convert::From<BounceVector3NaturalMotionAnimation> for Vector3NaturalMotionAnimation {
from(value: BounceVector3NaturalMotionAnimation) -> Self3159     fn from(value: BounceVector3NaturalMotionAnimation) -> Self {
3160         ::std::convert::Into::<Vector3NaturalMotionAnimation>::into(&value)
3161     }
3162 }
3163 impl ::std::convert::From<&BounceVector3NaturalMotionAnimation> for Vector3NaturalMotionAnimation {
from(value: &BounceVector3NaturalMotionAnimation) -> Self3164     fn from(value: &BounceVector3NaturalMotionAnimation) -> Self {
3165         ::windows::runtime::Interface::cast(value).unwrap()
3166     }
3167 }
3168 impl<'a> ::windows::runtime::IntoParam<'a, Vector3NaturalMotionAnimation> for BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, Vector3NaturalMotionAnimation>3169     fn into_param(self) -> ::windows::runtime::Param<'a, Vector3NaturalMotionAnimation> {
3170         ::windows::runtime::Param::Owned(::std::convert::Into::<Vector3NaturalMotionAnimation>::into(self))
3171     }
3172 }
3173 impl<'a> ::windows::runtime::IntoParam<'a, Vector3NaturalMotionAnimation> for &BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, Vector3NaturalMotionAnimation>3174     fn into_param(self) -> ::windows::runtime::Param<'a, Vector3NaturalMotionAnimation> {
3175         ::windows::runtime::Param::Owned(::std::convert::Into::<Vector3NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
3176     }
3177 }
3178 impl ::std::convert::From<BounceVector3NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: BounceVector3NaturalMotionAnimation) -> Self3179     fn from(value: BounceVector3NaturalMotionAnimation) -> Self {
3180         ::std::convert::Into::<NaturalMotionAnimation>::into(&value)
3181     }
3182 }
3183 impl ::std::convert::From<&BounceVector3NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: &BounceVector3NaturalMotionAnimation) -> Self3184     fn from(value: &BounceVector3NaturalMotionAnimation) -> Self {
3185         ::windows::runtime::Interface::cast(value).unwrap()
3186     }
3187 }
3188 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>3189     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
3190         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(self))
3191     }
3192 }
3193 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for &BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>3194     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
3195         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
3196     }
3197 }
3198 impl ::std::convert::From<BounceVector3NaturalMotionAnimation> for CompositionAnimation {
from(value: BounceVector3NaturalMotionAnimation) -> Self3199     fn from(value: BounceVector3NaturalMotionAnimation) -> Self {
3200         ::std::convert::Into::<CompositionAnimation>::into(&value)
3201     }
3202 }
3203 impl ::std::convert::From<&BounceVector3NaturalMotionAnimation> for CompositionAnimation {
from(value: &BounceVector3NaturalMotionAnimation) -> Self3204     fn from(value: &BounceVector3NaturalMotionAnimation) -> Self {
3205         ::windows::runtime::Interface::cast(value).unwrap()
3206     }
3207 }
3208 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>3209     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
3210         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
3211     }
3212 }
3213 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>3214     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
3215         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
3216     }
3217 }
3218 impl ::std::convert::From<BounceVector3NaturalMotionAnimation> for CompositionObject {
from(value: BounceVector3NaturalMotionAnimation) -> Self3219     fn from(value: BounceVector3NaturalMotionAnimation) -> Self {
3220         ::std::convert::Into::<CompositionObject>::into(&value)
3221     }
3222 }
3223 impl ::std::convert::From<&BounceVector3NaturalMotionAnimation> for CompositionObject {
from(value: &BounceVector3NaturalMotionAnimation) -> Self3224     fn from(value: &BounceVector3NaturalMotionAnimation) -> Self {
3225         ::windows::runtime::Interface::cast(value).unwrap()
3226     }
3227 }
3228 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>3229     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
3230         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
3231     }
3232 }
3233 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &BounceVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>3234     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
3235         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
3236     }
3237 }
3238 unsafe impl ::std::marker::Send for BounceVector3NaturalMotionAnimation {}
3239 unsafe impl ::std::marker::Sync for BounceVector3NaturalMotionAnimation {}
3240 #[repr(transparent)]
3241 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3242 pub struct CircleEasingFunction(::windows::runtime::IInspectable);
3243 impl CircleEasingFunction {
Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode>3244     pub fn Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode> {
3245         let this = self;
3246         unsafe {
3247             let mut result__: CompositionEasingFunctionMode = ::std::mem::zeroed();
3248             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEasingFunctionMode>(result__)
3249         }
3250     }
3251     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>3252     pub fn Close(&self) -> ::windows::runtime::Result<()> {
3253         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
3254         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
3255     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>3256     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
3257         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3258         unsafe {
3259             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3260             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
3261         }
3262     }
3263     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>3264     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
3265         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3266         unsafe {
3267             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3268             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
3269         }
3270     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>3271     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
3272         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3273         unsafe {
3274             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3275             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
3276         }
3277     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>3278     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
3279         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3280         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
3281     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>3282     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
3283         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3284         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
3285     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3286     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3287         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3288         unsafe {
3289             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3290             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3291         }
3292     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3293     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3294         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3295         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3296     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>3297     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
3298         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3299         unsafe {
3300             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3301             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
3302         }
3303     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>3304     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3305         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3306         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3307     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3308     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3309         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3310         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3311     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3312     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3313         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3314         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3315     }
3316     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>3317     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
3318         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
3319         unsafe {
3320             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3321             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
3322         }
3323     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>3324     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
3325         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
3326         unsafe {
3327             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3328             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
3329         }
3330     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>3331     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
3332         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
3333         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
3334     }
3335 }
3336 unsafe impl ::windows::runtime::RuntimeType for CircleEasingFunction {
3337     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CircleEasingFunction;{1e07222a-6f82-5a28-8748-2e92fc46ee2b})");
3338 }
3339 unsafe impl ::windows::runtime::Interface for CircleEasingFunction {
3340     type Vtable = ICircleEasingFunction_abi;
3341     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(503783978, 28546, 23080, [135, 72, 46, 146, 252, 70, 238, 43]);
3342 }
3343 impl ::windows::runtime::RuntimeName for CircleEasingFunction {
3344     const NAME: &'static str = "Windows.UI.Composition.CircleEasingFunction";
3345 }
3346 impl ::std::convert::From<CircleEasingFunction> for ::windows::runtime::IUnknown {
from(value: CircleEasingFunction) -> Self3347     fn from(value: CircleEasingFunction) -> Self {
3348         unsafe { ::std::mem::transmute(value) }
3349     }
3350 }
3351 impl ::std::convert::From<&CircleEasingFunction> for ::windows::runtime::IUnknown {
from(value: &CircleEasingFunction) -> Self3352     fn from(value: &CircleEasingFunction) -> Self {
3353         ::std::convert::From::from(::std::clone::Clone::clone(value))
3354     }
3355 }
3356 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3357     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3358         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3359     }
3360 }
3361 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3362     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3363         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3364     }
3365 }
3366 impl ::std::convert::From<CircleEasingFunction> for ::windows::runtime::IInspectable {
from(value: CircleEasingFunction) -> Self3367     fn from(value: CircleEasingFunction) -> Self {
3368         value.0
3369     }
3370 }
3371 impl ::std::convert::From<&CircleEasingFunction> for ::windows::runtime::IInspectable {
from(value: &CircleEasingFunction) -> Self3372     fn from(value: &CircleEasingFunction) -> Self {
3373         value.0.clone()
3374     }
3375 }
3376 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3377     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3378         ::windows::runtime::Param::Owned(self.0)
3379     }
3380 }
3381 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3382     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3383         ::windows::runtime::Param::Borrowed(&self.0)
3384     }
3385 }
3386 #[cfg(feature = "Foundation")]
3387 impl ::std::convert::TryFrom<CircleEasingFunction> for super::super::Foundation::IClosable {
3388     type Error = ::windows::runtime::Error;
try_from(value: CircleEasingFunction) -> ::windows::runtime::Result<Self>3389     fn try_from(value: CircleEasingFunction) -> ::windows::runtime::Result<Self> {
3390         ::std::convert::TryFrom::try_from(&value)
3391     }
3392 }
3393 #[cfg(feature = "Foundation")]
3394 impl ::std::convert::TryFrom<&CircleEasingFunction> for super::super::Foundation::IClosable {
3395     type Error = ::windows::runtime::Error;
try_from(value: &CircleEasingFunction) -> ::windows::runtime::Result<Self>3396     fn try_from(value: &CircleEasingFunction) -> ::windows::runtime::Result<Self> {
3397         ::windows::runtime::Interface::cast(value)
3398     }
3399 }
3400 #[cfg(feature = "Foundation")]
3401 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>3402     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
3403         ::windows::runtime::IntoParam::into_param(&self)
3404     }
3405 }
3406 #[cfg(feature = "Foundation")]
3407 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>3408     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
3409         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3410     }
3411 }
3412 impl ::std::convert::TryFrom<CircleEasingFunction> for IAnimationObject {
3413     type Error = ::windows::runtime::Error;
try_from(value: CircleEasingFunction) -> ::windows::runtime::Result<Self>3414     fn try_from(value: CircleEasingFunction) -> ::windows::runtime::Result<Self> {
3415         ::std::convert::TryFrom::try_from(&value)
3416     }
3417 }
3418 impl ::std::convert::TryFrom<&CircleEasingFunction> for IAnimationObject {
3419     type Error = ::windows::runtime::Error;
try_from(value: &CircleEasingFunction) -> ::windows::runtime::Result<Self>3420     fn try_from(value: &CircleEasingFunction) -> ::windows::runtime::Result<Self> {
3421         ::windows::runtime::Interface::cast(value)
3422     }
3423 }
3424 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>3425     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
3426         ::windows::runtime::IntoParam::into_param(&self)
3427     }
3428 }
3429 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>3430     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
3431         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3432     }
3433 }
3434 impl ::std::convert::From<CircleEasingFunction> for CompositionEasingFunction {
from(value: CircleEasingFunction) -> Self3435     fn from(value: CircleEasingFunction) -> Self {
3436         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
3437     }
3438 }
3439 impl ::std::convert::From<&CircleEasingFunction> for CompositionEasingFunction {
from(value: &CircleEasingFunction) -> Self3440     fn from(value: &CircleEasingFunction) -> Self {
3441         ::windows::runtime::Interface::cast(value).unwrap()
3442     }
3443 }
3444 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>3445     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
3446         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
3447     }
3448 }
3449 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>3450     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
3451         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
3452     }
3453 }
3454 impl ::std::convert::From<CircleEasingFunction> for CompositionObject {
from(value: CircleEasingFunction) -> Self3455     fn from(value: CircleEasingFunction) -> Self {
3456         ::std::convert::Into::<CompositionObject>::into(&value)
3457     }
3458 }
3459 impl ::std::convert::From<&CircleEasingFunction> for CompositionObject {
from(value: &CircleEasingFunction) -> Self3460     fn from(value: &CircleEasingFunction) -> Self {
3461         ::windows::runtime::Interface::cast(value).unwrap()
3462     }
3463 }
3464 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>3465     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
3466         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
3467     }
3468 }
3469 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CircleEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>3470     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
3471         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
3472     }
3473 }
3474 unsafe impl ::std::marker::Send for CircleEasingFunction {}
3475 unsafe impl ::std::marker::Sync for CircleEasingFunction {}
3476 #[repr(transparent)]
3477 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3478 pub struct ColorKeyFrameAnimation(::windows::runtime::IInspectable);
3479 impl ColorKeyFrameAnimation {
InterpolationColorSpace(&self) -> ::windows::runtime::Result<CompositionColorSpace>3480     pub fn InterpolationColorSpace(&self) -> ::windows::runtime::Result<CompositionColorSpace> {
3481         let this = self;
3482         unsafe {
3483             let mut result__: CompositionColorSpace = ::std::mem::zeroed();
3484             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionColorSpace>(result__)
3485         }
3486     }
SetInterpolationColorSpace(&self, value: CompositionColorSpace) -> ::windows::runtime::Result<()>3487     pub fn SetInterpolationColorSpace(&self, value: CompositionColorSpace) -> ::windows::runtime::Result<()> {
3488         let this = self;
3489         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3490     }
InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>3491     pub fn InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
3492         let this = self;
3493         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
3494     }
InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::Color>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>3495     pub fn InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::Color>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
3496         let this = self;
3497         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
3498     }
3499     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>3500     pub fn Close(&self) -> ::windows::runtime::Result<()> {
3501         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
3502         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
3503     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>3504     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
3505         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3506         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
3507     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>3508     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
3509         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3510         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
3511     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3512     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3513         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3514         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3515     }
3516     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3517     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3518         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3519         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3520     }
3521     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3522     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3523         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3524         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3525     }
3526     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3527     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3528         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3529         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3530     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>3531     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
3532         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3533         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
3534     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>3535     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
3536         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3537         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
3538     }
3539     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3540     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3541         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3542         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3543     }
3544     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3545     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3546         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3547         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3548     }
3549     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3550     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3551         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
3552         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3553     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>3554     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
3555         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3556         unsafe {
3557             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3558             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
3559         }
3560     }
3561     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>3562     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
3563         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3564         unsafe {
3565             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3566             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
3567         }
3568     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>3569     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
3570         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3571         unsafe {
3572             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3573             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
3574         }
3575     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>3576     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
3577         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3578         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
3579     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>3580     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
3581         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
3582         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
3583     }
3584     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>3585     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
3586         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3587         unsafe {
3588             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
3589             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
3590         }
3591     }
3592     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>3593     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3594         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3595         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3596     }
3597     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>3598     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
3599         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3600         unsafe {
3601             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
3602             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
3603         }
3604     }
3605     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>3606     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3607         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3608         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3609     }
IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior>3610     pub fn IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior> {
3611         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3612         unsafe {
3613             let mut result__: AnimationIterationBehavior = ::std::mem::zeroed();
3614             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationIterationBehavior>(result__)
3615         }
3616     }
SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()>3617     pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()> {
3618         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3619         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
3620     }
IterationCount(&self) -> ::windows::runtime::Result<i32>3621     pub fn IterationCount(&self) -> ::windows::runtime::Result<i32> {
3622         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3623         unsafe {
3624             let mut result__: i32 = ::std::mem::zeroed();
3625             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3626         }
3627     }
SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()>3628     pub fn SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()> {
3629         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3630         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
3631     }
KeyFrameCount(&self) -> ::windows::runtime::Result<i32>3632     pub fn KeyFrameCount(&self) -> ::windows::runtime::Result<i32> {
3633         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3634         unsafe {
3635             let mut result__: i32 = ::std::mem::zeroed();
3636             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3637         }
3638     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>3639     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
3640         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3641         unsafe {
3642             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
3643             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
3644         }
3645     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>3646     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
3647         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3648         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
3649     }
InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>3650     pub fn InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
3651         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3652         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
3653     }
InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>3654     pub fn InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
3655         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
3656         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
3657     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>3658     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
3659         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
3660         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
3661     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3662     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3663         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
3664         unsafe {
3665             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3666             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3667         }
3668     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3669     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3670         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
3671         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3672     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3673     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3674         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3675         unsafe {
3676             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3677             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3678         }
3679     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3680     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3681         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3682         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3683     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>3684     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
3685         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3686         unsafe {
3687             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3688             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
3689         }
3690     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>3691     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3692         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3693         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3694     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3695     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3696         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3697         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3698     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>3699     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3700         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
3701         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3702     }
Direction(&self) -> ::windows::runtime::Result<AnimationDirection>3703     pub fn Direction(&self) -> ::windows::runtime::Result<AnimationDirection> {
3704         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
3705         unsafe {
3706             let mut result__: AnimationDirection = ::std::mem::zeroed();
3707             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDirection>(result__)
3708         }
3709     }
SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()>3710     pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()> {
3711         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
3712         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3713     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>3714     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
3715         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
3716         unsafe {
3717             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
3718             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
3719         }
3720     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>3721     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
3722         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
3723         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3724     }
3725     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>3726     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
3727         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
3728         unsafe {
3729             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3730             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
3731         }
3732     }
3733     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>3734     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
3735         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
3736         unsafe {
3737             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3738             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
3739         }
3740     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>3741     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
3742         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
3743         unsafe {
3744             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3745             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
3746         }
3747     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>3748     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
3749         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
3750         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
3751     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>3752     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
3753         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
3754         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
3755     }
3756 }
3757 unsafe impl ::windows::runtime::RuntimeType for ColorKeyFrameAnimation {
3758     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ColorKeyFrameAnimation;{93adb5e9-8e05-4593-84a3-dca152781e56})");
3759 }
3760 unsafe impl ::windows::runtime::Interface for ColorKeyFrameAnimation {
3761     type Vtable = IColorKeyFrameAnimation_abi;
3762     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2477635049, 36357, 17811, [132, 163, 220, 161, 82, 120, 30, 86]);
3763 }
3764 impl ::windows::runtime::RuntimeName for ColorKeyFrameAnimation {
3765     const NAME: &'static str = "Windows.UI.Composition.ColorKeyFrameAnimation";
3766 }
3767 impl ::std::convert::From<ColorKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: ColorKeyFrameAnimation) -> Self3768     fn from(value: ColorKeyFrameAnimation) -> Self {
3769         unsafe { ::std::mem::transmute(value) }
3770     }
3771 }
3772 impl ::std::convert::From<&ColorKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: &ColorKeyFrameAnimation) -> Self3773     fn from(value: &ColorKeyFrameAnimation) -> Self {
3774         ::std::convert::From::from(::std::clone::Clone::clone(value))
3775     }
3776 }
3777 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3778     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3779         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3780     }
3781 }
3782 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3783     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3784         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3785     }
3786 }
3787 impl ::std::convert::From<ColorKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: ColorKeyFrameAnimation) -> Self3788     fn from(value: ColorKeyFrameAnimation) -> Self {
3789         value.0
3790     }
3791 }
3792 impl ::std::convert::From<&ColorKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: &ColorKeyFrameAnimation) -> Self3793     fn from(value: &ColorKeyFrameAnimation) -> Self {
3794         value.0.clone()
3795     }
3796 }
3797 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3798     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3799         ::windows::runtime::Param::Owned(self.0)
3800     }
3801 }
3802 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3803     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3804         ::windows::runtime::Param::Borrowed(&self.0)
3805     }
3806 }
3807 #[cfg(feature = "Foundation")]
3808 impl ::std::convert::TryFrom<ColorKeyFrameAnimation> for super::super::Foundation::IClosable {
3809     type Error = ::windows::runtime::Error;
try_from(value: ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self>3810     fn try_from(value: ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
3811         ::std::convert::TryFrom::try_from(&value)
3812     }
3813 }
3814 #[cfg(feature = "Foundation")]
3815 impl ::std::convert::TryFrom<&ColorKeyFrameAnimation> for super::super::Foundation::IClosable {
3816     type Error = ::windows::runtime::Error;
try_from(value: &ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self>3817     fn try_from(value: &ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
3818         ::windows::runtime::Interface::cast(value)
3819     }
3820 }
3821 #[cfg(feature = "Foundation")]
3822 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>3823     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
3824         ::windows::runtime::IntoParam::into_param(&self)
3825     }
3826 }
3827 #[cfg(feature = "Foundation")]
3828 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>3829     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
3830         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3831     }
3832 }
3833 impl ::std::convert::TryFrom<ColorKeyFrameAnimation> for ICompositionAnimationBase {
3834     type Error = ::windows::runtime::Error;
try_from(value: ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self>3835     fn try_from(value: ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
3836         ::std::convert::TryFrom::try_from(&value)
3837     }
3838 }
3839 impl ::std::convert::TryFrom<&ColorKeyFrameAnimation> for ICompositionAnimationBase {
3840     type Error = ::windows::runtime::Error;
try_from(value: &ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self>3841     fn try_from(value: &ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
3842         ::windows::runtime::Interface::cast(value)
3843     }
3844 }
3845 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>3846     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
3847         ::windows::runtime::IntoParam::into_param(&self)
3848     }
3849 }
3850 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>3851     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
3852         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3853     }
3854 }
3855 impl ::std::convert::TryFrom<ColorKeyFrameAnimation> for IAnimationObject {
3856     type Error = ::windows::runtime::Error;
try_from(value: ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self>3857     fn try_from(value: ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
3858         ::std::convert::TryFrom::try_from(&value)
3859     }
3860 }
3861 impl ::std::convert::TryFrom<&ColorKeyFrameAnimation> for IAnimationObject {
3862     type Error = ::windows::runtime::Error;
try_from(value: &ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self>3863     fn try_from(value: &ColorKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
3864         ::windows::runtime::Interface::cast(value)
3865     }
3866 }
3867 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>3868     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
3869         ::windows::runtime::IntoParam::into_param(&self)
3870     }
3871 }
3872 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>3873     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
3874         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3875     }
3876 }
3877 impl ::std::convert::From<ColorKeyFrameAnimation> for KeyFrameAnimation {
from(value: ColorKeyFrameAnimation) -> Self3878     fn from(value: ColorKeyFrameAnimation) -> Self {
3879         ::std::convert::Into::<KeyFrameAnimation>::into(&value)
3880     }
3881 }
3882 impl ::std::convert::From<&ColorKeyFrameAnimation> for KeyFrameAnimation {
from(value: &ColorKeyFrameAnimation) -> Self3883     fn from(value: &ColorKeyFrameAnimation) -> Self {
3884         ::windows::runtime::Interface::cast(value).unwrap()
3885     }
3886 }
3887 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>3888     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
3889         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(self))
3890     }
3891 }
3892 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for &ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>3893     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
3894         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(::std::clone::Clone::clone(self)))
3895     }
3896 }
3897 impl ::std::convert::From<ColorKeyFrameAnimation> for CompositionAnimation {
from(value: ColorKeyFrameAnimation) -> Self3898     fn from(value: ColorKeyFrameAnimation) -> Self {
3899         ::std::convert::Into::<CompositionAnimation>::into(&value)
3900     }
3901 }
3902 impl ::std::convert::From<&ColorKeyFrameAnimation> for CompositionAnimation {
from(value: &ColorKeyFrameAnimation) -> Self3903     fn from(value: &ColorKeyFrameAnimation) -> Self {
3904         ::windows::runtime::Interface::cast(value).unwrap()
3905     }
3906 }
3907 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>3908     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
3909         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
3910     }
3911 }
3912 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>3913     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
3914         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
3915     }
3916 }
3917 impl ::std::convert::From<ColorKeyFrameAnimation> for CompositionObject {
from(value: ColorKeyFrameAnimation) -> Self3918     fn from(value: ColorKeyFrameAnimation) -> Self {
3919         ::std::convert::Into::<CompositionObject>::into(&value)
3920     }
3921 }
3922 impl ::std::convert::From<&ColorKeyFrameAnimation> for CompositionObject {
from(value: &ColorKeyFrameAnimation) -> Self3923     fn from(value: &ColorKeyFrameAnimation) -> Self {
3924         ::windows::runtime::Interface::cast(value).unwrap()
3925     }
3926 }
3927 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>3928     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
3929         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
3930     }
3931 }
3932 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &ColorKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>3933     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
3934         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
3935     }
3936 }
3937 unsafe impl ::std::marker::Send for ColorKeyFrameAnimation {}
3938 unsafe impl ::std::marker::Sync for ColorKeyFrameAnimation {}
3939 #[repr(transparent)]
3940 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3941 pub struct CompositionAnimation(::windows::runtime::IInspectable);
3942 impl CompositionAnimation {
ClearAllParameters(&self) -> ::windows::runtime::Result<()>3943     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
3944         let this = self;
3945         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
3946     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>3947     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
3948         let this = self;
3949         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
3950     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3951     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3952         let this = self;
3953         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3954     }
3955     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3956     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3957         let this = self;
3958         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3959     }
3960     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3961     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3962         let this = self;
3963         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3964     }
3965     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3966     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3967         let this = self;
3968         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3969     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>3970     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
3971         let this = self;
3972         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
3973     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>3974     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
3975         let this = self;
3976         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
3977     }
3978     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3979     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3980         let this = self;
3981         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3982     }
3983     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3984     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3985         let this = self;
3986         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3987     }
3988     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>3989     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
3990         let this = self;
3991         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
3992     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>3993     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
3994         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
3995         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
3996     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3997     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3998         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
3999         unsafe {
4000             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4001             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4002         }
4003     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4004     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4005         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
4006         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4007     }
4008     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>4009     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
4010         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
4011         unsafe {
4012             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4013             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
4014         }
4015     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>4016     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
4017         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
4018         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
4019     }
4020     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>4021     pub fn Close(&self) -> ::windows::runtime::Result<()> {
4022         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
4023         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4024     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>4025     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
4026         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4027         unsafe {
4028             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4029             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
4030         }
4031     }
4032     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>4033     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
4034         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4035         unsafe {
4036             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4037             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
4038         }
4039     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>4040     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
4041         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4042         unsafe {
4043             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4044             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
4045         }
4046     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>4047     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
4048         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4049         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
4050     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>4051     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
4052         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4053         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
4054     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4055     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4056         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4057         unsafe {
4058             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4059             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4060         }
4061     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4062     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4063         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4064         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4065     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>4066     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
4067         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4068         unsafe {
4069             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4070             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
4071         }
4072     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>4073     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4074         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4075         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4076     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4077     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4078         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4079         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4080     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4081     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4082         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4083         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4084     }
4085     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>4086     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
4087         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
4088         unsafe {
4089             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4090             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
4091         }
4092     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>4093     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
4094         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
4095         unsafe {
4096             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4097             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
4098         }
4099     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>4100     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
4101         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
4102         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
4103     }
4104 }
4105 unsafe impl ::windows::runtime::RuntimeType for CompositionAnimation {
4106     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionAnimation;{464c4c2c-1caa-4061-9b40-e13fde1503ca})");
4107 }
4108 unsafe impl ::windows::runtime::Interface for CompositionAnimation {
4109     type Vtable = ICompositionAnimation_abi;
4110     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1179405356, 7338, 16481, [155, 64, 225, 63, 222, 21, 3, 202]);
4111 }
4112 impl ::windows::runtime::RuntimeName for CompositionAnimation {
4113     const NAME: &'static str = "Windows.UI.Composition.CompositionAnimation";
4114 }
4115 impl ::std::convert::From<CompositionAnimation> for ::windows::runtime::IUnknown {
from(value: CompositionAnimation) -> Self4116     fn from(value: CompositionAnimation) -> Self {
4117         unsafe { ::std::mem::transmute(value) }
4118     }
4119 }
4120 impl ::std::convert::From<&CompositionAnimation> for ::windows::runtime::IUnknown {
from(value: &CompositionAnimation) -> Self4121     fn from(value: &CompositionAnimation) -> Self {
4122         ::std::convert::From::from(::std::clone::Clone::clone(value))
4123     }
4124 }
4125 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4126     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4127         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4128     }
4129 }
4130 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4131     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4132         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4133     }
4134 }
4135 impl ::std::convert::From<CompositionAnimation> for ::windows::runtime::IInspectable {
from(value: CompositionAnimation) -> Self4136     fn from(value: CompositionAnimation) -> Self {
4137         value.0
4138     }
4139 }
4140 impl ::std::convert::From<&CompositionAnimation> for ::windows::runtime::IInspectable {
from(value: &CompositionAnimation) -> Self4141     fn from(value: &CompositionAnimation) -> Self {
4142         value.0.clone()
4143     }
4144 }
4145 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4146     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4147         ::windows::runtime::Param::Owned(self.0)
4148     }
4149 }
4150 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4151     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4152         ::windows::runtime::Param::Borrowed(&self.0)
4153     }
4154 }
4155 impl ::std::convert::TryFrom<CompositionAnimation> for ICompositionAnimationBase {
4156     type Error = ::windows::runtime::Error;
try_from(value: CompositionAnimation) -> ::windows::runtime::Result<Self>4157     fn try_from(value: CompositionAnimation) -> ::windows::runtime::Result<Self> {
4158         ::std::convert::TryFrom::try_from(&value)
4159     }
4160 }
4161 impl ::std::convert::TryFrom<&CompositionAnimation> for ICompositionAnimationBase {
4162     type Error = ::windows::runtime::Error;
try_from(value: &CompositionAnimation) -> ::windows::runtime::Result<Self>4163     fn try_from(value: &CompositionAnimation) -> ::windows::runtime::Result<Self> {
4164         ::windows::runtime::Interface::cast(value)
4165     }
4166 }
4167 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>4168     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
4169         ::windows::runtime::IntoParam::into_param(&self)
4170     }
4171 }
4172 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>4173     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
4174         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4175     }
4176 }
4177 #[cfg(feature = "Foundation")]
4178 impl ::std::convert::TryFrom<CompositionAnimation> for super::super::Foundation::IClosable {
4179     type Error = ::windows::runtime::Error;
try_from(value: CompositionAnimation) -> ::windows::runtime::Result<Self>4180     fn try_from(value: CompositionAnimation) -> ::windows::runtime::Result<Self> {
4181         ::std::convert::TryFrom::try_from(&value)
4182     }
4183 }
4184 #[cfg(feature = "Foundation")]
4185 impl ::std::convert::TryFrom<&CompositionAnimation> for super::super::Foundation::IClosable {
4186     type Error = ::windows::runtime::Error;
try_from(value: &CompositionAnimation) -> ::windows::runtime::Result<Self>4187     fn try_from(value: &CompositionAnimation) -> ::windows::runtime::Result<Self> {
4188         ::windows::runtime::Interface::cast(value)
4189     }
4190 }
4191 #[cfg(feature = "Foundation")]
4192 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>4193     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
4194         ::windows::runtime::IntoParam::into_param(&self)
4195     }
4196 }
4197 #[cfg(feature = "Foundation")]
4198 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>4199     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
4200         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4201     }
4202 }
4203 impl ::std::convert::TryFrom<CompositionAnimation> for IAnimationObject {
4204     type Error = ::windows::runtime::Error;
try_from(value: CompositionAnimation) -> ::windows::runtime::Result<Self>4205     fn try_from(value: CompositionAnimation) -> ::windows::runtime::Result<Self> {
4206         ::std::convert::TryFrom::try_from(&value)
4207     }
4208 }
4209 impl ::std::convert::TryFrom<&CompositionAnimation> for IAnimationObject {
4210     type Error = ::windows::runtime::Error;
try_from(value: &CompositionAnimation) -> ::windows::runtime::Result<Self>4211     fn try_from(value: &CompositionAnimation) -> ::windows::runtime::Result<Self> {
4212         ::windows::runtime::Interface::cast(value)
4213     }
4214 }
4215 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>4216     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
4217         ::windows::runtime::IntoParam::into_param(&self)
4218     }
4219 }
4220 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>4221     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
4222         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4223     }
4224 }
4225 impl ::std::convert::From<CompositionAnimation> for CompositionObject {
from(value: CompositionAnimation) -> Self4226     fn from(value: CompositionAnimation) -> Self {
4227         ::std::convert::Into::<CompositionObject>::into(&value)
4228     }
4229 }
4230 impl ::std::convert::From<&CompositionAnimation> for CompositionObject {
from(value: &CompositionAnimation) -> Self4231     fn from(value: &CompositionAnimation) -> Self {
4232         ::windows::runtime::Interface::cast(value).unwrap()
4233     }
4234 }
4235 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>4236     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
4237         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
4238     }
4239 }
4240 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>4241     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
4242         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
4243     }
4244 }
4245 unsafe impl ::std::marker::Send for CompositionAnimation {}
4246 unsafe impl ::std::marker::Sync for CompositionAnimation {}
4247 #[repr(transparent)]
4248 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4249 pub struct CompositionAnimationGroup(::windows::runtime::IInspectable);
4250 impl CompositionAnimationGroup {
4251     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionAnimation>>4252     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionAnimation>> {
4253         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<CompositionAnimation>>(self)?;
4254         unsafe {
4255             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4256             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<CompositionAnimation>>(result__)
4257         }
4258     }
Count(&self) -> ::windows::runtime::Result<i32>4259     pub fn Count(&self) -> ::windows::runtime::Result<i32> {
4260         let this = self;
4261         unsafe {
4262             let mut result__: i32 = ::std::mem::zeroed();
4263             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
4264         }
4265     }
Add<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>4266     pub fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4267         let this = self;
4268         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4269     }
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()>4270     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4271         let this = self;
4272         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4273     }
RemoveAll(&self) -> ::windows::runtime::Result<()>4274     pub fn RemoveAll(&self) -> ::windows::runtime::Result<()> {
4275         let this = self;
4276         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this)).ok() }
4277     }
4278     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>4279     pub fn Close(&self) -> ::windows::runtime::Result<()> {
4280         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
4281         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4282     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>4283     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
4284         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4285         unsafe {
4286             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4287             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
4288         }
4289     }
4290     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>4291     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
4292         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4293         unsafe {
4294             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4295             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
4296         }
4297     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>4298     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
4299         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4300         unsafe {
4301             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4302             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
4303         }
4304     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>4305     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
4306         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4307         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
4308     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>4309     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
4310         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4311         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
4312     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4313     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4314         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4315         unsafe {
4316             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4317             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4318         }
4319     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4320     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4321         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4322         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4323     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>4324     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
4325         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4326         unsafe {
4327             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4328             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
4329         }
4330     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>4331     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4332         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4333         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4334     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4335     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4336         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4337         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4338     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4339     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4340         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4341         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4342     }
4343     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>4344     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
4345         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
4346         unsafe {
4347             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4348             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
4349         }
4350     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>4351     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
4352         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
4353         unsafe {
4354             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4355             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
4356         }
4357     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>4358     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
4359         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
4360         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
4361     }
4362 }
4363 unsafe impl ::windows::runtime::RuntimeType for CompositionAnimationGroup {
4364     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionAnimationGroup;{5e7cc90c-cd14-4e07-8a55-c72527aabdac})");
4365 }
4366 unsafe impl ::windows::runtime::Interface for CompositionAnimationGroup {
4367     type Vtable = ICompositionAnimationGroup_abi;
4368     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1585236236, 52500, 19975, [138, 85, 199, 37, 39, 170, 189, 172]);
4369 }
4370 impl ::windows::runtime::RuntimeName for CompositionAnimationGroup {
4371     const NAME: &'static str = "Windows.UI.Composition.CompositionAnimationGroup";
4372 }
4373 impl ::std::convert::From<CompositionAnimationGroup> for ::windows::runtime::IUnknown {
from(value: CompositionAnimationGroup) -> Self4374     fn from(value: CompositionAnimationGroup) -> Self {
4375         unsafe { ::std::mem::transmute(value) }
4376     }
4377 }
4378 impl ::std::convert::From<&CompositionAnimationGroup> for ::windows::runtime::IUnknown {
from(value: &CompositionAnimationGroup) -> Self4379     fn from(value: &CompositionAnimationGroup) -> Self {
4380         ::std::convert::From::from(::std::clone::Clone::clone(value))
4381     }
4382 }
4383 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4384     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4385         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4386     }
4387 }
4388 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4389     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4390         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4391     }
4392 }
4393 impl ::std::convert::From<CompositionAnimationGroup> for ::windows::runtime::IInspectable {
from(value: CompositionAnimationGroup) -> Self4394     fn from(value: CompositionAnimationGroup) -> Self {
4395         value.0
4396     }
4397 }
4398 impl ::std::convert::From<&CompositionAnimationGroup> for ::windows::runtime::IInspectable {
from(value: &CompositionAnimationGroup) -> Self4399     fn from(value: &CompositionAnimationGroup) -> Self {
4400         value.0.clone()
4401     }
4402 }
4403 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4404     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4405         ::windows::runtime::Param::Owned(self.0)
4406     }
4407 }
4408 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4409     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4410         ::windows::runtime::Param::Borrowed(&self.0)
4411     }
4412 }
4413 #[cfg(feature = "Foundation_Collections")]
4414 impl ::std::convert::TryFrom<CompositionAnimationGroup> for super::super::Foundation::Collections::IIterable<CompositionAnimation> {
4415     type Error = ::windows::runtime::Error;
try_from(value: CompositionAnimationGroup) -> ::windows::runtime::Result<Self>4416     fn try_from(value: CompositionAnimationGroup) -> ::windows::runtime::Result<Self> {
4417         ::std::convert::TryFrom::try_from(&value)
4418     }
4419 }
4420 #[cfg(feature = "Foundation_Collections")]
4421 impl ::std::convert::TryFrom<&CompositionAnimationGroup> for super::super::Foundation::Collections::IIterable<CompositionAnimation> {
4422     type Error = ::windows::runtime::Error;
try_from(value: &CompositionAnimationGroup) -> ::windows::runtime::Result<Self>4423     fn try_from(value: &CompositionAnimationGroup) -> ::windows::runtime::Result<Self> {
4424         ::windows::runtime::Interface::cast(value)
4425     }
4426 }
4427 #[cfg(feature = "Foundation_Collections")]
4428 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionAnimation>> for CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionAnimation>>4429     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionAnimation>> {
4430         ::windows::runtime::IntoParam::into_param(&self)
4431     }
4432 }
4433 #[cfg(feature = "Foundation_Collections")]
4434 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionAnimation>> for &CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionAnimation>>4435     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionAnimation>> {
4436         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<CompositionAnimation>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4437     }
4438 }
4439 impl ::std::convert::TryFrom<CompositionAnimationGroup> for ICompositionAnimationBase {
4440     type Error = ::windows::runtime::Error;
try_from(value: CompositionAnimationGroup) -> ::windows::runtime::Result<Self>4441     fn try_from(value: CompositionAnimationGroup) -> ::windows::runtime::Result<Self> {
4442         ::std::convert::TryFrom::try_from(&value)
4443     }
4444 }
4445 impl ::std::convert::TryFrom<&CompositionAnimationGroup> for ICompositionAnimationBase {
4446     type Error = ::windows::runtime::Error;
try_from(value: &CompositionAnimationGroup) -> ::windows::runtime::Result<Self>4447     fn try_from(value: &CompositionAnimationGroup) -> ::windows::runtime::Result<Self> {
4448         ::windows::runtime::Interface::cast(value)
4449     }
4450 }
4451 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>4452     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
4453         ::windows::runtime::IntoParam::into_param(&self)
4454     }
4455 }
4456 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>4457     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
4458         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4459     }
4460 }
4461 #[cfg(feature = "Foundation")]
4462 impl ::std::convert::TryFrom<CompositionAnimationGroup> for super::super::Foundation::IClosable {
4463     type Error = ::windows::runtime::Error;
try_from(value: CompositionAnimationGroup) -> ::windows::runtime::Result<Self>4464     fn try_from(value: CompositionAnimationGroup) -> ::windows::runtime::Result<Self> {
4465         ::std::convert::TryFrom::try_from(&value)
4466     }
4467 }
4468 #[cfg(feature = "Foundation")]
4469 impl ::std::convert::TryFrom<&CompositionAnimationGroup> for super::super::Foundation::IClosable {
4470     type Error = ::windows::runtime::Error;
try_from(value: &CompositionAnimationGroup) -> ::windows::runtime::Result<Self>4471     fn try_from(value: &CompositionAnimationGroup) -> ::windows::runtime::Result<Self> {
4472         ::windows::runtime::Interface::cast(value)
4473     }
4474 }
4475 #[cfg(feature = "Foundation")]
4476 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>4477     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
4478         ::windows::runtime::IntoParam::into_param(&self)
4479     }
4480 }
4481 #[cfg(feature = "Foundation")]
4482 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>4483     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
4484         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4485     }
4486 }
4487 impl ::std::convert::TryFrom<CompositionAnimationGroup> for IAnimationObject {
4488     type Error = ::windows::runtime::Error;
try_from(value: CompositionAnimationGroup) -> ::windows::runtime::Result<Self>4489     fn try_from(value: CompositionAnimationGroup) -> ::windows::runtime::Result<Self> {
4490         ::std::convert::TryFrom::try_from(&value)
4491     }
4492 }
4493 impl ::std::convert::TryFrom<&CompositionAnimationGroup> for IAnimationObject {
4494     type Error = ::windows::runtime::Error;
try_from(value: &CompositionAnimationGroup) -> ::windows::runtime::Result<Self>4495     fn try_from(value: &CompositionAnimationGroup) -> ::windows::runtime::Result<Self> {
4496         ::windows::runtime::Interface::cast(value)
4497     }
4498 }
4499 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>4500     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
4501         ::windows::runtime::IntoParam::into_param(&self)
4502     }
4503 }
4504 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>4505     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
4506         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4507     }
4508 }
4509 impl ::std::convert::From<CompositionAnimationGroup> for CompositionObject {
from(value: CompositionAnimationGroup) -> Self4510     fn from(value: CompositionAnimationGroup) -> Self {
4511         ::std::convert::Into::<CompositionObject>::into(&value)
4512     }
4513 }
4514 impl ::std::convert::From<&CompositionAnimationGroup> for CompositionObject {
from(value: &CompositionAnimationGroup) -> Self4515     fn from(value: &CompositionAnimationGroup) -> Self {
4516         ::windows::runtime::Interface::cast(value).unwrap()
4517     }
4518 }
4519 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>4520     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
4521         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
4522     }
4523 }
4524 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionAnimationGroup {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>4525     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
4526         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
4527     }
4528 }
4529 unsafe impl ::std::marker::Send for CompositionAnimationGroup {}
4530 unsafe impl ::std::marker::Sync for CompositionAnimationGroup {}
4531 #[cfg(all(feature = "Foundation_Collections"))]
4532 impl ::std::iter::IntoIterator for CompositionAnimationGroup {
4533     type Item = CompositionAnimation;
4534     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter4535     fn into_iter(self) -> Self::IntoIter {
4536         ::std::iter::IntoIterator::into_iter(&self)
4537     }
4538 }
4539 #[cfg(all(feature = "Foundation_Collections"))]
4540 impl ::std::iter::IntoIterator for &CompositionAnimationGroup {
4541     type Item = CompositionAnimation;
4542     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter4543     fn into_iter(self) -> Self::IntoIter {
4544         self.First().unwrap()
4545     }
4546 }
4547 #[repr(transparent)]
4548 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4549 pub struct CompositionBackdropBrush(::windows::runtime::IInspectable);
4550 impl CompositionBackdropBrush {
4551     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>4552     pub fn Close(&self) -> ::windows::runtime::Result<()> {
4553         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
4554         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4555     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>4556     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
4557         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4558         unsafe {
4559             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4560             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
4561         }
4562     }
4563     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>4564     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
4565         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4566         unsafe {
4567             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4568             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
4569         }
4570     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>4571     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
4572         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4573         unsafe {
4574             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4575             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
4576         }
4577     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>4578     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
4579         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4580         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
4581     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>4582     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
4583         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4584         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
4585     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4586     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4587         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4588         unsafe {
4589             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4590             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4591         }
4592     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4593     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4594         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4595         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4596     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>4597     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
4598         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4599         unsafe {
4600             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4601             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
4602         }
4603     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>4604     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4605         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4606         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4607     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4608     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4609         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4610         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4611     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4612     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4613         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4614         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4615     }
4616     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>4617     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
4618         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
4619         unsafe {
4620             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4621             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
4622         }
4623     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>4624     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
4625         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
4626         unsafe {
4627             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4628             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
4629         }
4630     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>4631     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
4632         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
4633         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
4634     }
4635 }
4636 unsafe impl ::windows::runtime::RuntimeType for CompositionBackdropBrush {
4637     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionBackdropBrush;{c5acae58-3898-499e-8d7f-224e91286a5d})");
4638 }
4639 unsafe impl ::windows::runtime::Interface for CompositionBackdropBrush {
4640     type Vtable = ICompositionBackdropBrush_abi;
4641     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3316428376, 14488, 18846, [141, 127, 34, 78, 145, 40, 106, 93]);
4642 }
4643 impl ::windows::runtime::RuntimeName for CompositionBackdropBrush {
4644     const NAME: &'static str = "Windows.UI.Composition.CompositionBackdropBrush";
4645 }
4646 impl ::std::convert::From<CompositionBackdropBrush> for ::windows::runtime::IUnknown {
from(value: CompositionBackdropBrush) -> Self4647     fn from(value: CompositionBackdropBrush) -> Self {
4648         unsafe { ::std::mem::transmute(value) }
4649     }
4650 }
4651 impl ::std::convert::From<&CompositionBackdropBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionBackdropBrush) -> Self4652     fn from(value: &CompositionBackdropBrush) -> Self {
4653         ::std::convert::From::from(::std::clone::Clone::clone(value))
4654     }
4655 }
4656 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4657     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4658         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4659     }
4660 }
4661 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4662     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4663         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4664     }
4665 }
4666 impl ::std::convert::From<CompositionBackdropBrush> for ::windows::runtime::IInspectable {
from(value: CompositionBackdropBrush) -> Self4667     fn from(value: CompositionBackdropBrush) -> Self {
4668         value.0
4669     }
4670 }
4671 impl ::std::convert::From<&CompositionBackdropBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionBackdropBrush) -> Self4672     fn from(value: &CompositionBackdropBrush) -> Self {
4673         value.0.clone()
4674     }
4675 }
4676 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4677     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4678         ::windows::runtime::Param::Owned(self.0)
4679     }
4680 }
4681 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4682     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4683         ::windows::runtime::Param::Borrowed(&self.0)
4684     }
4685 }
4686 #[cfg(feature = "Foundation")]
4687 impl ::std::convert::TryFrom<CompositionBackdropBrush> for super::super::Foundation::IClosable {
4688     type Error = ::windows::runtime::Error;
try_from(value: CompositionBackdropBrush) -> ::windows::runtime::Result<Self>4689     fn try_from(value: CompositionBackdropBrush) -> ::windows::runtime::Result<Self> {
4690         ::std::convert::TryFrom::try_from(&value)
4691     }
4692 }
4693 #[cfg(feature = "Foundation")]
4694 impl ::std::convert::TryFrom<&CompositionBackdropBrush> for super::super::Foundation::IClosable {
4695     type Error = ::windows::runtime::Error;
try_from(value: &CompositionBackdropBrush) -> ::windows::runtime::Result<Self>4696     fn try_from(value: &CompositionBackdropBrush) -> ::windows::runtime::Result<Self> {
4697         ::windows::runtime::Interface::cast(value)
4698     }
4699 }
4700 #[cfg(feature = "Foundation")]
4701 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>4702     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
4703         ::windows::runtime::IntoParam::into_param(&self)
4704     }
4705 }
4706 #[cfg(feature = "Foundation")]
4707 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>4708     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
4709         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4710     }
4711 }
4712 impl ::std::convert::TryFrom<CompositionBackdropBrush> for IAnimationObject {
4713     type Error = ::windows::runtime::Error;
try_from(value: CompositionBackdropBrush) -> ::windows::runtime::Result<Self>4714     fn try_from(value: CompositionBackdropBrush) -> ::windows::runtime::Result<Self> {
4715         ::std::convert::TryFrom::try_from(&value)
4716     }
4717 }
4718 impl ::std::convert::TryFrom<&CompositionBackdropBrush> for IAnimationObject {
4719     type Error = ::windows::runtime::Error;
try_from(value: &CompositionBackdropBrush) -> ::windows::runtime::Result<Self>4720     fn try_from(value: &CompositionBackdropBrush) -> ::windows::runtime::Result<Self> {
4721         ::windows::runtime::Interface::cast(value)
4722     }
4723 }
4724 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>4725     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
4726         ::windows::runtime::IntoParam::into_param(&self)
4727     }
4728 }
4729 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>4730     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
4731         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4732     }
4733 }
4734 impl ::std::convert::From<CompositionBackdropBrush> for CompositionBrush {
from(value: CompositionBackdropBrush) -> Self4735     fn from(value: CompositionBackdropBrush) -> Self {
4736         ::std::convert::Into::<CompositionBrush>::into(&value)
4737     }
4738 }
4739 impl ::std::convert::From<&CompositionBackdropBrush> for CompositionBrush {
from(value: &CompositionBackdropBrush) -> Self4740     fn from(value: &CompositionBackdropBrush) -> Self {
4741         ::windows::runtime::Interface::cast(value).unwrap()
4742     }
4743 }
4744 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>4745     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
4746         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(self))
4747     }
4748 }
4749 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for &CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>4750     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
4751         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(::std::clone::Clone::clone(self)))
4752     }
4753 }
4754 impl ::std::convert::From<CompositionBackdropBrush> for CompositionObject {
from(value: CompositionBackdropBrush) -> Self4755     fn from(value: CompositionBackdropBrush) -> Self {
4756         ::std::convert::Into::<CompositionObject>::into(&value)
4757     }
4758 }
4759 impl ::std::convert::From<&CompositionBackdropBrush> for CompositionObject {
from(value: &CompositionBackdropBrush) -> Self4760     fn from(value: &CompositionBackdropBrush) -> Self {
4761         ::windows::runtime::Interface::cast(value).unwrap()
4762     }
4763 }
4764 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>4765     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
4766         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
4767     }
4768 }
4769 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionBackdropBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>4770     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
4771         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
4772     }
4773 }
4774 unsafe impl ::std::marker::Send for CompositionBackdropBrush {}
4775 unsafe impl ::std::marker::Sync for CompositionBackdropBrush {}
4776 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4777 #[repr(transparent)]
4778 pub struct CompositionBackfaceVisibility(pub i32);
4779 impl CompositionBackfaceVisibility {
4780     pub const Inherit: CompositionBackfaceVisibility = CompositionBackfaceVisibility(0i32);
4781     pub const Visible: CompositionBackfaceVisibility = CompositionBackfaceVisibility(1i32);
4782     pub const Hidden: CompositionBackfaceVisibility = CompositionBackfaceVisibility(2i32);
4783 }
4784 impl ::std::convert::From<i32> for CompositionBackfaceVisibility {
from(value: i32) -> Self4785     fn from(value: i32) -> Self {
4786         Self(value)
4787     }
4788 }
4789 unsafe impl ::windows::runtime::Abi for CompositionBackfaceVisibility {
4790     type Abi = Self;
4791     type DefaultType = Self;
4792 }
4793 unsafe impl ::windows::runtime::RuntimeType for CompositionBackfaceVisibility {
4794     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionBackfaceVisibility;i4)");
4795 }
4796 #[repr(transparent)]
4797 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4798 pub struct CompositionBatchCompletedEventArgs(::windows::runtime::IInspectable);
4799 impl CompositionBatchCompletedEventArgs {
4800     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>4801     pub fn Close(&self) -> ::windows::runtime::Result<()> {
4802         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
4803         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4804     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>4805     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
4806         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4807         unsafe {
4808             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4809             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
4810         }
4811     }
4812     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>4813     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
4814         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4815         unsafe {
4816             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4817             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
4818         }
4819     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>4820     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
4821         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4822         unsafe {
4823             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4824             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
4825         }
4826     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>4827     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
4828         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4829         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
4830     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>4831     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
4832         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
4833         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
4834     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4835     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4836         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4837         unsafe {
4838             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4839             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4840         }
4841     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4842     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4843         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4844         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4845     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>4846     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
4847         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4848         unsafe {
4849             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4850             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
4851         }
4852     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>4853     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4854         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4855         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4856     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4857     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4858         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4859         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4860     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>4861     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4862         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
4863         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4864     }
4865     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>4866     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
4867         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
4868         unsafe {
4869             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4870             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
4871         }
4872     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>4873     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
4874         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
4875         unsafe {
4876             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4877             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
4878         }
4879     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>4880     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
4881         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
4882         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
4883     }
4884 }
4885 unsafe impl ::windows::runtime::RuntimeType for CompositionBatchCompletedEventArgs {
4886     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionBatchCompletedEventArgs;{0d00dad0-9464-450a-a562-2e2698b0a812})");
4887 }
4888 unsafe impl ::windows::runtime::Interface for CompositionBatchCompletedEventArgs {
4889     type Vtable = ICompositionBatchCompletedEventArgs_abi;
4890     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(218159824, 37988, 17674, [165, 98, 46, 38, 152, 176, 168, 18]);
4891 }
4892 impl ::windows::runtime::RuntimeName for CompositionBatchCompletedEventArgs {
4893     const NAME: &'static str = "Windows.UI.Composition.CompositionBatchCompletedEventArgs";
4894 }
4895 impl ::std::convert::From<CompositionBatchCompletedEventArgs> for ::windows::runtime::IUnknown {
from(value: CompositionBatchCompletedEventArgs) -> Self4896     fn from(value: CompositionBatchCompletedEventArgs) -> Self {
4897         unsafe { ::std::mem::transmute(value) }
4898     }
4899 }
4900 impl ::std::convert::From<&CompositionBatchCompletedEventArgs> for ::windows::runtime::IUnknown {
from(value: &CompositionBatchCompletedEventArgs) -> Self4901     fn from(value: &CompositionBatchCompletedEventArgs) -> Self {
4902         ::std::convert::From::from(::std::clone::Clone::clone(value))
4903     }
4904 }
4905 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4906     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4907         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4908     }
4909 }
4910 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4911     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4912         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4913     }
4914 }
4915 impl ::std::convert::From<CompositionBatchCompletedEventArgs> for ::windows::runtime::IInspectable {
from(value: CompositionBatchCompletedEventArgs) -> Self4916     fn from(value: CompositionBatchCompletedEventArgs) -> Self {
4917         value.0
4918     }
4919 }
4920 impl ::std::convert::From<&CompositionBatchCompletedEventArgs> for ::windows::runtime::IInspectable {
from(value: &CompositionBatchCompletedEventArgs) -> Self4921     fn from(value: &CompositionBatchCompletedEventArgs) -> Self {
4922         value.0.clone()
4923     }
4924 }
4925 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4926     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4927         ::windows::runtime::Param::Owned(self.0)
4928     }
4929 }
4930 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4931     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4932         ::windows::runtime::Param::Borrowed(&self.0)
4933     }
4934 }
4935 #[cfg(feature = "Foundation")]
4936 impl ::std::convert::TryFrom<CompositionBatchCompletedEventArgs> for super::super::Foundation::IClosable {
4937     type Error = ::windows::runtime::Error;
try_from(value: CompositionBatchCompletedEventArgs) -> ::windows::runtime::Result<Self>4938     fn try_from(value: CompositionBatchCompletedEventArgs) -> ::windows::runtime::Result<Self> {
4939         ::std::convert::TryFrom::try_from(&value)
4940     }
4941 }
4942 #[cfg(feature = "Foundation")]
4943 impl ::std::convert::TryFrom<&CompositionBatchCompletedEventArgs> for super::super::Foundation::IClosable {
4944     type Error = ::windows::runtime::Error;
try_from(value: &CompositionBatchCompletedEventArgs) -> ::windows::runtime::Result<Self>4945     fn try_from(value: &CompositionBatchCompletedEventArgs) -> ::windows::runtime::Result<Self> {
4946         ::windows::runtime::Interface::cast(value)
4947     }
4948 }
4949 #[cfg(feature = "Foundation")]
4950 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>4951     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
4952         ::windows::runtime::IntoParam::into_param(&self)
4953     }
4954 }
4955 #[cfg(feature = "Foundation")]
4956 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>4957     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
4958         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4959     }
4960 }
4961 impl ::std::convert::TryFrom<CompositionBatchCompletedEventArgs> for IAnimationObject {
4962     type Error = ::windows::runtime::Error;
try_from(value: CompositionBatchCompletedEventArgs) -> ::windows::runtime::Result<Self>4963     fn try_from(value: CompositionBatchCompletedEventArgs) -> ::windows::runtime::Result<Self> {
4964         ::std::convert::TryFrom::try_from(&value)
4965     }
4966 }
4967 impl ::std::convert::TryFrom<&CompositionBatchCompletedEventArgs> for IAnimationObject {
4968     type Error = ::windows::runtime::Error;
try_from(value: &CompositionBatchCompletedEventArgs) -> ::windows::runtime::Result<Self>4969     fn try_from(value: &CompositionBatchCompletedEventArgs) -> ::windows::runtime::Result<Self> {
4970         ::windows::runtime::Interface::cast(value)
4971     }
4972 }
4973 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>4974     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
4975         ::windows::runtime::IntoParam::into_param(&self)
4976     }
4977 }
4978 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>4979     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
4980         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4981     }
4982 }
4983 impl ::std::convert::From<CompositionBatchCompletedEventArgs> for CompositionObject {
from(value: CompositionBatchCompletedEventArgs) -> Self4984     fn from(value: CompositionBatchCompletedEventArgs) -> Self {
4985         ::std::convert::Into::<CompositionObject>::into(&value)
4986     }
4987 }
4988 impl ::std::convert::From<&CompositionBatchCompletedEventArgs> for CompositionObject {
from(value: &CompositionBatchCompletedEventArgs) -> Self4989     fn from(value: &CompositionBatchCompletedEventArgs) -> Self {
4990         ::windows::runtime::Interface::cast(value).unwrap()
4991     }
4992 }
4993 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>4994     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
4995         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
4996     }
4997 }
4998 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionBatchCompletedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>4999     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
5000         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
5001     }
5002 }
5003 unsafe impl ::std::marker::Send for CompositionBatchCompletedEventArgs {}
5004 unsafe impl ::std::marker::Sync for CompositionBatchCompletedEventArgs {}
5005 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5006 #[repr(transparent)]
5007 pub struct CompositionBatchTypes(pub u32);
5008 impl CompositionBatchTypes {
5009     pub const None: CompositionBatchTypes = CompositionBatchTypes(0u32);
5010     pub const Animation: CompositionBatchTypes = CompositionBatchTypes(1u32);
5011     pub const Effect: CompositionBatchTypes = CompositionBatchTypes(2u32);
5012     pub const InfiniteAnimation: CompositionBatchTypes = CompositionBatchTypes(4u32);
5013     pub const AllAnimations: CompositionBatchTypes = CompositionBatchTypes(5u32);
5014 }
5015 impl ::std::convert::From<u32> for CompositionBatchTypes {
from(value: u32) -> Self5016     fn from(value: u32) -> Self {
5017         Self(value)
5018     }
5019 }
5020 unsafe impl ::windows::runtime::Abi for CompositionBatchTypes {
5021     type Abi = Self;
5022     type DefaultType = Self;
5023 }
5024 unsafe impl ::windows::runtime::RuntimeType for CompositionBatchTypes {
5025     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionBatchTypes;u4)");
5026 }
5027 impl ::std::ops::BitOr for CompositionBatchTypes {
5028     type Output = Self;
bitor(self, rhs: Self) -> Self5029     fn bitor(self, rhs: Self) -> Self {
5030         Self(self.0 | rhs.0)
5031     }
5032 }
5033 impl ::std::ops::BitAnd for CompositionBatchTypes {
5034     type Output = Self;
bitand(self, rhs: Self) -> Self5035     fn bitand(self, rhs: Self) -> Self {
5036         Self(self.0 & rhs.0)
5037     }
5038 }
5039 impl ::std::ops::BitOrAssign for CompositionBatchTypes {
bitor_assign(&mut self, rhs: Self)5040     fn bitor_assign(&mut self, rhs: Self) {
5041         self.0.bitor_assign(rhs.0)
5042     }
5043 }
5044 impl ::std::ops::BitAndAssign for CompositionBatchTypes {
bitand_assign(&mut self, rhs: Self)5045     fn bitand_assign(&mut self, rhs: Self) {
5046         self.0.bitand_assign(rhs.0)
5047     }
5048 }
5049 impl ::std::ops::Not for CompositionBatchTypes {
5050     type Output = Self;
not(self) -> Self5051     fn not(self) -> Self {
5052         Self(self.0.not())
5053     }
5054 }
5055 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5056 #[repr(transparent)]
5057 pub struct CompositionBitmapInterpolationMode(pub i32);
5058 impl CompositionBitmapInterpolationMode {
5059     pub const NearestNeighbor: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(0i32);
5060     pub const Linear: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(1i32);
5061     pub const MagLinearMinLinearMipLinear: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(2i32);
5062     pub const MagLinearMinLinearMipNearest: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(3i32);
5063     pub const MagLinearMinNearestMipLinear: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(4i32);
5064     pub const MagLinearMinNearestMipNearest: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(5i32);
5065     pub const MagNearestMinLinearMipLinear: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(6i32);
5066     pub const MagNearestMinLinearMipNearest: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(7i32);
5067     pub const MagNearestMinNearestMipLinear: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(8i32);
5068     pub const MagNearestMinNearestMipNearest: CompositionBitmapInterpolationMode = CompositionBitmapInterpolationMode(9i32);
5069 }
5070 impl ::std::convert::From<i32> for CompositionBitmapInterpolationMode {
from(value: i32) -> Self5071     fn from(value: i32) -> Self {
5072         Self(value)
5073     }
5074 }
5075 unsafe impl ::windows::runtime::Abi for CompositionBitmapInterpolationMode {
5076     type Abi = Self;
5077     type DefaultType = Self;
5078 }
5079 unsafe impl ::windows::runtime::RuntimeType for CompositionBitmapInterpolationMode {
5080     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionBitmapInterpolationMode;i4)");
5081 }
5082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5083 #[repr(transparent)]
5084 pub struct CompositionBorderMode(pub i32);
5085 impl CompositionBorderMode {
5086     pub const Inherit: CompositionBorderMode = CompositionBorderMode(0i32);
5087     pub const Soft: CompositionBorderMode = CompositionBorderMode(1i32);
5088     pub const Hard: CompositionBorderMode = CompositionBorderMode(2i32);
5089 }
5090 impl ::std::convert::From<i32> for CompositionBorderMode {
from(value: i32) -> Self5091     fn from(value: i32) -> Self {
5092         Self(value)
5093     }
5094 }
5095 unsafe impl ::windows::runtime::Abi for CompositionBorderMode {
5096     type Abi = Self;
5097     type DefaultType = Self;
5098 }
5099 unsafe impl ::windows::runtime::RuntimeType for CompositionBorderMode {
5100     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionBorderMode;i4)");
5101 }
5102 #[repr(transparent)]
5103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5104 pub struct CompositionBrush(::windows::runtime::IInspectable);
5105 impl CompositionBrush {
5106     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>5107     pub fn Close(&self) -> ::windows::runtime::Result<()> {
5108         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
5109         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
5110     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>5111     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
5112         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5113         unsafe {
5114             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5115             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
5116         }
5117     }
5118     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>5119     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
5120         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5121         unsafe {
5122             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5123             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
5124         }
5125     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>5126     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
5127         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5128         unsafe {
5129             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5130             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
5131         }
5132     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>5133     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
5134         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5135         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
5136     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>5137     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
5138         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5139         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
5140     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5141     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5142         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5143         unsafe {
5144             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5145             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5146         }
5147     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>5148     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5149         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5150         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5151     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>5152     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
5153         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5154         unsafe {
5155             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5156             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
5157         }
5158     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>5159     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5160         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5161         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5162     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>5163     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5164         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5165         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5166     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>5167     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5168         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5169         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5170     }
5171     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>5172     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
5173         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
5174         unsafe {
5175             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5176             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
5177         }
5178     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>5179     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
5180         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
5181         unsafe {
5182             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5183             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
5184         }
5185     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>5186     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
5187         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
5188         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
5189     }
5190 }
5191 unsafe impl ::windows::runtime::RuntimeType for CompositionBrush {
5192     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionBrush;{ab0d7608-30c0-40e9-b568-b60a6bd1fb46})");
5193 }
5194 unsafe impl ::windows::runtime::Interface for CompositionBrush {
5195     type Vtable = ICompositionBrush_abi;
5196     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2869786120, 12480, 16617, [181, 104, 182, 10, 107, 209, 251, 70]);
5197 }
5198 impl ::windows::runtime::RuntimeName for CompositionBrush {
5199     const NAME: &'static str = "Windows.UI.Composition.CompositionBrush";
5200 }
5201 impl ::std::convert::From<CompositionBrush> for ::windows::runtime::IUnknown {
from(value: CompositionBrush) -> Self5202     fn from(value: CompositionBrush) -> Self {
5203         unsafe { ::std::mem::transmute(value) }
5204     }
5205 }
5206 impl ::std::convert::From<&CompositionBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionBrush) -> Self5207     fn from(value: &CompositionBrush) -> Self {
5208         ::std::convert::From::from(::std::clone::Clone::clone(value))
5209     }
5210 }
5211 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5212     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5213         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5214     }
5215 }
5216 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5217     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5218         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5219     }
5220 }
5221 impl ::std::convert::From<CompositionBrush> for ::windows::runtime::IInspectable {
from(value: CompositionBrush) -> Self5222     fn from(value: CompositionBrush) -> Self {
5223         value.0
5224     }
5225 }
5226 impl ::std::convert::From<&CompositionBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionBrush) -> Self5227     fn from(value: &CompositionBrush) -> Self {
5228         value.0.clone()
5229     }
5230 }
5231 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5232     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5233         ::windows::runtime::Param::Owned(self.0)
5234     }
5235 }
5236 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5237     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5238         ::windows::runtime::Param::Borrowed(&self.0)
5239     }
5240 }
5241 #[cfg(feature = "Foundation")]
5242 impl ::std::convert::TryFrom<CompositionBrush> for super::super::Foundation::IClosable {
5243     type Error = ::windows::runtime::Error;
try_from(value: CompositionBrush) -> ::windows::runtime::Result<Self>5244     fn try_from(value: CompositionBrush) -> ::windows::runtime::Result<Self> {
5245         ::std::convert::TryFrom::try_from(&value)
5246     }
5247 }
5248 #[cfg(feature = "Foundation")]
5249 impl ::std::convert::TryFrom<&CompositionBrush> for super::super::Foundation::IClosable {
5250     type Error = ::windows::runtime::Error;
try_from(value: &CompositionBrush) -> ::windows::runtime::Result<Self>5251     fn try_from(value: &CompositionBrush) -> ::windows::runtime::Result<Self> {
5252         ::windows::runtime::Interface::cast(value)
5253     }
5254 }
5255 #[cfg(feature = "Foundation")]
5256 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>5257     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
5258         ::windows::runtime::IntoParam::into_param(&self)
5259     }
5260 }
5261 #[cfg(feature = "Foundation")]
5262 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>5263     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
5264         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5265     }
5266 }
5267 impl ::std::convert::TryFrom<CompositionBrush> for IAnimationObject {
5268     type Error = ::windows::runtime::Error;
try_from(value: CompositionBrush) -> ::windows::runtime::Result<Self>5269     fn try_from(value: CompositionBrush) -> ::windows::runtime::Result<Self> {
5270         ::std::convert::TryFrom::try_from(&value)
5271     }
5272 }
5273 impl ::std::convert::TryFrom<&CompositionBrush> for IAnimationObject {
5274     type Error = ::windows::runtime::Error;
try_from(value: &CompositionBrush) -> ::windows::runtime::Result<Self>5275     fn try_from(value: &CompositionBrush) -> ::windows::runtime::Result<Self> {
5276         ::windows::runtime::Interface::cast(value)
5277     }
5278 }
5279 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>5280     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
5281         ::windows::runtime::IntoParam::into_param(&self)
5282     }
5283 }
5284 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>5285     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
5286         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5287     }
5288 }
5289 impl ::std::convert::From<CompositionBrush> for CompositionObject {
from(value: CompositionBrush) -> Self5290     fn from(value: CompositionBrush) -> Self {
5291         ::std::convert::Into::<CompositionObject>::into(&value)
5292     }
5293 }
5294 impl ::std::convert::From<&CompositionBrush> for CompositionObject {
from(value: &CompositionBrush) -> Self5295     fn from(value: &CompositionBrush) -> Self {
5296         ::windows::runtime::Interface::cast(value).unwrap()
5297     }
5298 }
5299 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>5300     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
5301         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
5302     }
5303 }
5304 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>5305     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
5306         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
5307     }
5308 }
5309 unsafe impl ::std::marker::Send for CompositionBrush {}
5310 unsafe impl ::std::marker::Sync for CompositionBrush {}
5311 #[repr(transparent)]
5312 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5313 pub struct CompositionCapabilities(::windows::runtime::IInspectable);
5314 impl CompositionCapabilities {
AreEffectsSupported(&self) -> ::windows::runtime::Result<bool>5315     pub fn AreEffectsSupported(&self) -> ::windows::runtime::Result<bool> {
5316         let this = self;
5317         unsafe {
5318             let mut result__: bool = ::std::mem::zeroed();
5319             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5320         }
5321     }
AreEffectsFast(&self) -> ::windows::runtime::Result<bool>5322     pub fn AreEffectsFast(&self) -> ::windows::runtime::Result<bool> {
5323         let this = self;
5324         unsafe {
5325             let mut result__: bool = ::std::mem::zeroed();
5326             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5327         }
5328     }
5329     #[cfg(feature = "Foundation")]
Changed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<CompositionCapabilities, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5330     pub fn Changed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<CompositionCapabilities, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5331         let this = self;
5332         unsafe {
5333             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5334             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5335         }
5336     }
5337     #[cfg(feature = "Foundation")]
RemoveChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5338     pub fn RemoveChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5339         let this = self;
5340         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5341     }
GetForCurrentView() -> ::windows::runtime::Result<CompositionCapabilities>5342     pub fn GetForCurrentView() -> ::windows::runtime::Result<CompositionCapabilities> {
5343         Self::ICompositionCapabilitiesStatics(|this| unsafe {
5344             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5345             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionCapabilities>(result__)
5346         })
5347     }
ICompositionCapabilitiesStatics<R, F: FnOnce(&ICompositionCapabilitiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5348     pub fn ICompositionCapabilitiesStatics<R, F: FnOnce(&ICompositionCapabilitiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5349         static mut SHARED: ::windows::runtime::FactoryCache<CompositionCapabilities, ICompositionCapabilitiesStatics> = ::windows::runtime::FactoryCache::new();
5350         unsafe { SHARED.call(callback) }
5351     }
5352 }
5353 unsafe impl ::windows::runtime::RuntimeType for CompositionCapabilities {
5354     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionCapabilities;{8253353e-b517-48bc-b1e8-4b3561a2e181})");
5355 }
5356 unsafe impl ::windows::runtime::Interface for CompositionCapabilities {
5357     type Vtable = ICompositionCapabilities_abi;
5358     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2186491198, 46359, 18620, [177, 232, 75, 53, 97, 162, 225, 129]);
5359 }
5360 impl ::windows::runtime::RuntimeName for CompositionCapabilities {
5361     const NAME: &'static str = "Windows.UI.Composition.CompositionCapabilities";
5362 }
5363 impl ::std::convert::From<CompositionCapabilities> for ::windows::runtime::IUnknown {
from(value: CompositionCapabilities) -> Self5364     fn from(value: CompositionCapabilities) -> Self {
5365         unsafe { ::std::mem::transmute(value) }
5366     }
5367 }
5368 impl ::std::convert::From<&CompositionCapabilities> for ::windows::runtime::IUnknown {
from(value: &CompositionCapabilities) -> Self5369     fn from(value: &CompositionCapabilities) -> Self {
5370         ::std::convert::From::from(::std::clone::Clone::clone(value))
5371     }
5372 }
5373 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionCapabilities {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5374     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5375         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5376     }
5377 }
5378 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionCapabilities {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5379     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5380         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5381     }
5382 }
5383 impl ::std::convert::From<CompositionCapabilities> for ::windows::runtime::IInspectable {
from(value: CompositionCapabilities) -> Self5384     fn from(value: CompositionCapabilities) -> Self {
5385         value.0
5386     }
5387 }
5388 impl ::std::convert::From<&CompositionCapabilities> for ::windows::runtime::IInspectable {
from(value: &CompositionCapabilities) -> Self5389     fn from(value: &CompositionCapabilities) -> Self {
5390         value.0.clone()
5391     }
5392 }
5393 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionCapabilities {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5394     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5395         ::windows::runtime::Param::Owned(self.0)
5396     }
5397 }
5398 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionCapabilities {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5399     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5400         ::windows::runtime::Param::Borrowed(&self.0)
5401     }
5402 }
5403 unsafe impl ::std::marker::Send for CompositionCapabilities {}
5404 unsafe impl ::std::marker::Sync for CompositionCapabilities {}
5405 #[repr(transparent)]
5406 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5407 pub struct CompositionClip(::windows::runtime::IInspectable);
5408 impl CompositionClip {
5409     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>5410     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
5411         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5412         unsafe {
5413             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
5414             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
5415         }
5416     }
5417     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>5418     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5419         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5420         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5421     }
5422     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>5423     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
5424         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5425         unsafe {
5426             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
5427             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
5428         }
5429     }
5430     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>5431     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5432         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5433         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5434     }
5435     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>5436     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
5437         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5438         unsafe {
5439             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
5440             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
5441         }
5442     }
5443     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>5444     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5445         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5446         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5447     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>5448     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
5449         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5450         unsafe {
5451             let mut result__: f32 = ::std::mem::zeroed();
5452             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
5453         }
5454     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>5455     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
5456         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5457         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
5458     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>5459     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
5460         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5461         unsafe {
5462             let mut result__: f32 = ::std::mem::zeroed();
5463             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
5464         }
5465     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>5466     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
5467         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5468         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
5469     }
5470     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>5471     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
5472         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5473         unsafe {
5474             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
5475             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
5476         }
5477     }
5478     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>5479     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5480         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5481         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5482     }
5483     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>5484     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
5485         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5486         unsafe {
5487             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
5488             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
5489         }
5490     }
5491     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>5492     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5493         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
5494         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5495     }
5496     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>5497     pub fn Close(&self) -> ::windows::runtime::Result<()> {
5498         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
5499         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
5500     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>5501     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
5502         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5503         unsafe {
5504             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5505             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
5506         }
5507     }
5508     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>5509     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
5510         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5511         unsafe {
5512             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5513             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
5514         }
5515     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>5516     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
5517         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5518         unsafe {
5519             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5520             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
5521         }
5522     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>5523     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
5524         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5525         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
5526     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>5527     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
5528         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5529         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
5530     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5531     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5532         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5533         unsafe {
5534             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5535             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5536         }
5537     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>5538     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5539         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5540         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5541     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>5542     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
5543         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5544         unsafe {
5545             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5546             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
5547         }
5548     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>5549     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5550         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5551         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5552     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>5553     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5554         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5555         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5556     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>5557     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5558         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5559         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5560     }
5561     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>5562     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
5563         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
5564         unsafe {
5565             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5566             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
5567         }
5568     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>5569     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
5570         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
5571         unsafe {
5572             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5573             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
5574         }
5575     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>5576     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
5577         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
5578         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
5579     }
5580 }
5581 unsafe impl ::windows::runtime::RuntimeType for CompositionClip {
5582     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionClip;{1ccd2a52-cfc7-4ace-9983-146bb8eb6a3c})");
5583 }
5584 unsafe impl ::windows::runtime::Interface for CompositionClip {
5585     type Vtable = ICompositionClip_abi;
5586     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(483207762, 53191, 19150, [153, 131, 20, 107, 184, 235, 106, 60]);
5587 }
5588 impl ::windows::runtime::RuntimeName for CompositionClip {
5589     const NAME: &'static str = "Windows.UI.Composition.CompositionClip";
5590 }
5591 impl ::std::convert::From<CompositionClip> for ::windows::runtime::IUnknown {
from(value: CompositionClip) -> Self5592     fn from(value: CompositionClip) -> Self {
5593         unsafe { ::std::mem::transmute(value) }
5594     }
5595 }
5596 impl ::std::convert::From<&CompositionClip> for ::windows::runtime::IUnknown {
from(value: &CompositionClip) -> Self5597     fn from(value: &CompositionClip) -> Self {
5598         ::std::convert::From::from(::std::clone::Clone::clone(value))
5599     }
5600 }
5601 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5602     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5603         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5604     }
5605 }
5606 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5607     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5608         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5609     }
5610 }
5611 impl ::std::convert::From<CompositionClip> for ::windows::runtime::IInspectable {
from(value: CompositionClip) -> Self5612     fn from(value: CompositionClip) -> Self {
5613         value.0
5614     }
5615 }
5616 impl ::std::convert::From<&CompositionClip> for ::windows::runtime::IInspectable {
from(value: &CompositionClip) -> Self5617     fn from(value: &CompositionClip) -> Self {
5618         value.0.clone()
5619     }
5620 }
5621 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5622     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5623         ::windows::runtime::Param::Owned(self.0)
5624     }
5625 }
5626 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5627     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5628         ::windows::runtime::Param::Borrowed(&self.0)
5629     }
5630 }
5631 #[cfg(feature = "Foundation")]
5632 impl ::std::convert::TryFrom<CompositionClip> for super::super::Foundation::IClosable {
5633     type Error = ::windows::runtime::Error;
try_from(value: CompositionClip) -> ::windows::runtime::Result<Self>5634     fn try_from(value: CompositionClip) -> ::windows::runtime::Result<Self> {
5635         ::std::convert::TryFrom::try_from(&value)
5636     }
5637 }
5638 #[cfg(feature = "Foundation")]
5639 impl ::std::convert::TryFrom<&CompositionClip> for super::super::Foundation::IClosable {
5640     type Error = ::windows::runtime::Error;
try_from(value: &CompositionClip) -> ::windows::runtime::Result<Self>5641     fn try_from(value: &CompositionClip) -> ::windows::runtime::Result<Self> {
5642         ::windows::runtime::Interface::cast(value)
5643     }
5644 }
5645 #[cfg(feature = "Foundation")]
5646 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>5647     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
5648         ::windows::runtime::IntoParam::into_param(&self)
5649     }
5650 }
5651 #[cfg(feature = "Foundation")]
5652 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>5653     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
5654         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5655     }
5656 }
5657 impl ::std::convert::TryFrom<CompositionClip> for IAnimationObject {
5658     type Error = ::windows::runtime::Error;
try_from(value: CompositionClip) -> ::windows::runtime::Result<Self>5659     fn try_from(value: CompositionClip) -> ::windows::runtime::Result<Self> {
5660         ::std::convert::TryFrom::try_from(&value)
5661     }
5662 }
5663 impl ::std::convert::TryFrom<&CompositionClip> for IAnimationObject {
5664     type Error = ::windows::runtime::Error;
try_from(value: &CompositionClip) -> ::windows::runtime::Result<Self>5665     fn try_from(value: &CompositionClip) -> ::windows::runtime::Result<Self> {
5666         ::windows::runtime::Interface::cast(value)
5667     }
5668 }
5669 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>5670     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
5671         ::windows::runtime::IntoParam::into_param(&self)
5672     }
5673 }
5674 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>5675     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
5676         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5677     }
5678 }
5679 impl ::std::convert::From<CompositionClip> for CompositionObject {
from(value: CompositionClip) -> Self5680     fn from(value: CompositionClip) -> Self {
5681         ::std::convert::Into::<CompositionObject>::into(&value)
5682     }
5683 }
5684 impl ::std::convert::From<&CompositionClip> for CompositionObject {
from(value: &CompositionClip) -> Self5685     fn from(value: &CompositionClip) -> Self {
5686         ::windows::runtime::Interface::cast(value).unwrap()
5687     }
5688 }
5689 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>5690     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
5691         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
5692     }
5693 }
5694 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>5695     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
5696         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
5697     }
5698 }
5699 unsafe impl ::std::marker::Send for CompositionClip {}
5700 unsafe impl ::std::marker::Sync for CompositionClip {}
5701 #[repr(transparent)]
5702 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5703 pub struct CompositionColorBrush(::windows::runtime::IInspectable);
5704 impl CompositionColorBrush {
Color(&self) -> ::windows::runtime::Result<super::Color>5705     pub fn Color(&self) -> ::windows::runtime::Result<super::Color> {
5706         let this = self;
5707         unsafe {
5708             let mut result__: super::Color = ::std::mem::zeroed();
5709             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
5710         }
5711     }
SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>5712     pub fn SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5713         let this = self;
5714         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5715     }
5716     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>5717     pub fn Close(&self) -> ::windows::runtime::Result<()> {
5718         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
5719         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
5720     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>5721     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
5722         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5723         unsafe {
5724             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5725             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
5726         }
5727     }
5728     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>5729     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
5730         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5731         unsafe {
5732             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5733             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
5734         }
5735     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>5736     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
5737         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5738         unsafe {
5739             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5740             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
5741         }
5742     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>5743     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
5744         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5745         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
5746     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>5747     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
5748         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5749         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
5750     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5751     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5752         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5753         unsafe {
5754             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5755             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5756         }
5757     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>5758     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5759         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5760         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5761     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>5762     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
5763         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5764         unsafe {
5765             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5766             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
5767         }
5768     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>5769     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5770         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5771         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5772     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>5773     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5774         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5775         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5776     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>5777     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5778         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
5779         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5780     }
5781     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>5782     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
5783         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
5784         unsafe {
5785             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5786             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
5787         }
5788     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>5789     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
5790         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
5791         unsafe {
5792             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5793             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
5794         }
5795     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>5796     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
5797         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
5798         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
5799     }
5800 }
5801 unsafe impl ::windows::runtime::RuntimeType for CompositionColorBrush {
5802     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionColorBrush;{2b264c5e-bf35-4831-8642-cf70c20fff2f})");
5803 }
5804 unsafe impl ::windows::runtime::Interface for CompositionColorBrush {
5805     type Vtable = ICompositionColorBrush_abi;
5806     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(723930206, 48949, 18481, [134, 66, 207, 112, 194, 15, 255, 47]);
5807 }
5808 impl ::windows::runtime::RuntimeName for CompositionColorBrush {
5809     const NAME: &'static str = "Windows.UI.Composition.CompositionColorBrush";
5810 }
5811 impl ::std::convert::From<CompositionColorBrush> for ::windows::runtime::IUnknown {
from(value: CompositionColorBrush) -> Self5812     fn from(value: CompositionColorBrush) -> Self {
5813         unsafe { ::std::mem::transmute(value) }
5814     }
5815 }
5816 impl ::std::convert::From<&CompositionColorBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionColorBrush) -> Self5817     fn from(value: &CompositionColorBrush) -> Self {
5818         ::std::convert::From::from(::std::clone::Clone::clone(value))
5819     }
5820 }
5821 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5822     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5823         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5824     }
5825 }
5826 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5827     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5828         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5829     }
5830 }
5831 impl ::std::convert::From<CompositionColorBrush> for ::windows::runtime::IInspectable {
from(value: CompositionColorBrush) -> Self5832     fn from(value: CompositionColorBrush) -> Self {
5833         value.0
5834     }
5835 }
5836 impl ::std::convert::From<&CompositionColorBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionColorBrush) -> Self5837     fn from(value: &CompositionColorBrush) -> Self {
5838         value.0.clone()
5839     }
5840 }
5841 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5842     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5843         ::windows::runtime::Param::Owned(self.0)
5844     }
5845 }
5846 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5847     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5848         ::windows::runtime::Param::Borrowed(&self.0)
5849     }
5850 }
5851 #[cfg(feature = "Foundation")]
5852 impl ::std::convert::TryFrom<CompositionColorBrush> for super::super::Foundation::IClosable {
5853     type Error = ::windows::runtime::Error;
try_from(value: CompositionColorBrush) -> ::windows::runtime::Result<Self>5854     fn try_from(value: CompositionColorBrush) -> ::windows::runtime::Result<Self> {
5855         ::std::convert::TryFrom::try_from(&value)
5856     }
5857 }
5858 #[cfg(feature = "Foundation")]
5859 impl ::std::convert::TryFrom<&CompositionColorBrush> for super::super::Foundation::IClosable {
5860     type Error = ::windows::runtime::Error;
try_from(value: &CompositionColorBrush) -> ::windows::runtime::Result<Self>5861     fn try_from(value: &CompositionColorBrush) -> ::windows::runtime::Result<Self> {
5862         ::windows::runtime::Interface::cast(value)
5863     }
5864 }
5865 #[cfg(feature = "Foundation")]
5866 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>5867     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
5868         ::windows::runtime::IntoParam::into_param(&self)
5869     }
5870 }
5871 #[cfg(feature = "Foundation")]
5872 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>5873     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
5874         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5875     }
5876 }
5877 impl ::std::convert::TryFrom<CompositionColorBrush> for IAnimationObject {
5878     type Error = ::windows::runtime::Error;
try_from(value: CompositionColorBrush) -> ::windows::runtime::Result<Self>5879     fn try_from(value: CompositionColorBrush) -> ::windows::runtime::Result<Self> {
5880         ::std::convert::TryFrom::try_from(&value)
5881     }
5882 }
5883 impl ::std::convert::TryFrom<&CompositionColorBrush> for IAnimationObject {
5884     type Error = ::windows::runtime::Error;
try_from(value: &CompositionColorBrush) -> ::windows::runtime::Result<Self>5885     fn try_from(value: &CompositionColorBrush) -> ::windows::runtime::Result<Self> {
5886         ::windows::runtime::Interface::cast(value)
5887     }
5888 }
5889 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>5890     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
5891         ::windows::runtime::IntoParam::into_param(&self)
5892     }
5893 }
5894 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>5895     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
5896         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5897     }
5898 }
5899 impl ::std::convert::From<CompositionColorBrush> for CompositionBrush {
from(value: CompositionColorBrush) -> Self5900     fn from(value: CompositionColorBrush) -> Self {
5901         ::std::convert::Into::<CompositionBrush>::into(&value)
5902     }
5903 }
5904 impl ::std::convert::From<&CompositionColorBrush> for CompositionBrush {
from(value: &CompositionColorBrush) -> Self5905     fn from(value: &CompositionColorBrush) -> Self {
5906         ::windows::runtime::Interface::cast(value).unwrap()
5907     }
5908 }
5909 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>5910     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
5911         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(self))
5912     }
5913 }
5914 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for &CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>5915     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
5916         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(::std::clone::Clone::clone(self)))
5917     }
5918 }
5919 impl ::std::convert::From<CompositionColorBrush> for CompositionObject {
from(value: CompositionColorBrush) -> Self5920     fn from(value: CompositionColorBrush) -> Self {
5921         ::std::convert::Into::<CompositionObject>::into(&value)
5922     }
5923 }
5924 impl ::std::convert::From<&CompositionColorBrush> for CompositionObject {
from(value: &CompositionColorBrush) -> Self5925     fn from(value: &CompositionColorBrush) -> Self {
5926         ::windows::runtime::Interface::cast(value).unwrap()
5927     }
5928 }
5929 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>5930     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
5931         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
5932     }
5933 }
5934 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionColorBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>5935     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
5936         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
5937     }
5938 }
5939 unsafe impl ::std::marker::Send for CompositionColorBrush {}
5940 unsafe impl ::std::marker::Sync for CompositionColorBrush {}
5941 #[repr(transparent)]
5942 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5943 pub struct CompositionColorGradientStop(::windows::runtime::IInspectable);
5944 impl CompositionColorGradientStop {
Color(&self) -> ::windows::runtime::Result<super::Color>5945     pub fn Color(&self) -> ::windows::runtime::Result<super::Color> {
5946         let this = self;
5947         unsafe {
5948             let mut result__: super::Color = ::std::mem::zeroed();
5949             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
5950         }
5951     }
SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>5952     pub fn SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5953         let this = self;
5954         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5955     }
Offset(&self) -> ::windows::runtime::Result<f32>5956     pub fn Offset(&self) -> ::windows::runtime::Result<f32> {
5957         let this = self;
5958         unsafe {
5959             let mut result__: f32 = ::std::mem::zeroed();
5960             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
5961         }
5962     }
SetOffset(&self, value: f32) -> ::windows::runtime::Result<()>5963     pub fn SetOffset(&self, value: f32) -> ::windows::runtime::Result<()> {
5964         let this = self;
5965         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
5966     }
5967     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>5968     pub fn Close(&self) -> ::windows::runtime::Result<()> {
5969         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
5970         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
5971     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>5972     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
5973         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5974         unsafe {
5975             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5976             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
5977         }
5978     }
5979     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>5980     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
5981         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5982         unsafe {
5983             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5984             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
5985         }
5986     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>5987     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
5988         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5989         unsafe {
5990             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5991             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
5992         }
5993     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>5994     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
5995         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
5996         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
5997     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>5998     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
5999         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6000         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
6001     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6002     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6003         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6004         unsafe {
6005             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6006             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6007         }
6008     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>6009     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6010         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6011         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6012     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>6013     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
6014         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6015         unsafe {
6016             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6017             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
6018         }
6019     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>6020     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6021         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6022         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6023     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>6024     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6025         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6026         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6027     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>6028     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6029         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6030         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6031     }
6032     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>6033     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
6034         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
6035         unsafe {
6036             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6037             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
6038         }
6039     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>6040     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
6041         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
6042         unsafe {
6043             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6044             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
6045         }
6046     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>6047     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
6048         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
6049         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
6050     }
6051 }
6052 unsafe impl ::windows::runtime::RuntimeType for CompositionColorGradientStop {
6053     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionColorGradientStop;{6f00ca92-c801-4e41-9a8f-a53e20f57778})");
6054 }
6055 unsafe impl ::windows::runtime::Interface for CompositionColorGradientStop {
6056     type Vtable = ICompositionColorGradientStop_abi;
6057     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1862322834, 51201, 20033, [154, 143, 165, 62, 32, 245, 119, 120]);
6058 }
6059 impl ::windows::runtime::RuntimeName for CompositionColorGradientStop {
6060     const NAME: &'static str = "Windows.UI.Composition.CompositionColorGradientStop";
6061 }
6062 impl ::std::convert::From<CompositionColorGradientStop> for ::windows::runtime::IUnknown {
from(value: CompositionColorGradientStop) -> Self6063     fn from(value: CompositionColorGradientStop) -> Self {
6064         unsafe { ::std::mem::transmute(value) }
6065     }
6066 }
6067 impl ::std::convert::From<&CompositionColorGradientStop> for ::windows::runtime::IUnknown {
from(value: &CompositionColorGradientStop) -> Self6068     fn from(value: &CompositionColorGradientStop) -> Self {
6069         ::std::convert::From::from(::std::clone::Clone::clone(value))
6070     }
6071 }
6072 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6073     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6074         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6075     }
6076 }
6077 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6078     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6079         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6080     }
6081 }
6082 impl ::std::convert::From<CompositionColorGradientStop> for ::windows::runtime::IInspectable {
from(value: CompositionColorGradientStop) -> Self6083     fn from(value: CompositionColorGradientStop) -> Self {
6084         value.0
6085     }
6086 }
6087 impl ::std::convert::From<&CompositionColorGradientStop> for ::windows::runtime::IInspectable {
from(value: &CompositionColorGradientStop) -> Self6088     fn from(value: &CompositionColorGradientStop) -> Self {
6089         value.0.clone()
6090     }
6091 }
6092 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6093     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6094         ::windows::runtime::Param::Owned(self.0)
6095     }
6096 }
6097 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6098     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6099         ::windows::runtime::Param::Borrowed(&self.0)
6100     }
6101 }
6102 #[cfg(feature = "Foundation")]
6103 impl ::std::convert::TryFrom<CompositionColorGradientStop> for super::super::Foundation::IClosable {
6104     type Error = ::windows::runtime::Error;
try_from(value: CompositionColorGradientStop) -> ::windows::runtime::Result<Self>6105     fn try_from(value: CompositionColorGradientStop) -> ::windows::runtime::Result<Self> {
6106         ::std::convert::TryFrom::try_from(&value)
6107     }
6108 }
6109 #[cfg(feature = "Foundation")]
6110 impl ::std::convert::TryFrom<&CompositionColorGradientStop> for super::super::Foundation::IClosable {
6111     type Error = ::windows::runtime::Error;
try_from(value: &CompositionColorGradientStop) -> ::windows::runtime::Result<Self>6112     fn try_from(value: &CompositionColorGradientStop) -> ::windows::runtime::Result<Self> {
6113         ::windows::runtime::Interface::cast(value)
6114     }
6115 }
6116 #[cfg(feature = "Foundation")]
6117 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>6118     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
6119         ::windows::runtime::IntoParam::into_param(&self)
6120     }
6121 }
6122 #[cfg(feature = "Foundation")]
6123 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>6124     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
6125         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6126     }
6127 }
6128 impl ::std::convert::TryFrom<CompositionColorGradientStop> for IAnimationObject {
6129     type Error = ::windows::runtime::Error;
try_from(value: CompositionColorGradientStop) -> ::windows::runtime::Result<Self>6130     fn try_from(value: CompositionColorGradientStop) -> ::windows::runtime::Result<Self> {
6131         ::std::convert::TryFrom::try_from(&value)
6132     }
6133 }
6134 impl ::std::convert::TryFrom<&CompositionColorGradientStop> for IAnimationObject {
6135     type Error = ::windows::runtime::Error;
try_from(value: &CompositionColorGradientStop) -> ::windows::runtime::Result<Self>6136     fn try_from(value: &CompositionColorGradientStop) -> ::windows::runtime::Result<Self> {
6137         ::windows::runtime::Interface::cast(value)
6138     }
6139 }
6140 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>6141     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
6142         ::windows::runtime::IntoParam::into_param(&self)
6143     }
6144 }
6145 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>6146     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
6147         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6148     }
6149 }
6150 impl ::std::convert::From<CompositionColorGradientStop> for CompositionObject {
from(value: CompositionColorGradientStop) -> Self6151     fn from(value: CompositionColorGradientStop) -> Self {
6152         ::std::convert::Into::<CompositionObject>::into(&value)
6153     }
6154 }
6155 impl ::std::convert::From<&CompositionColorGradientStop> for CompositionObject {
from(value: &CompositionColorGradientStop) -> Self6156     fn from(value: &CompositionColorGradientStop) -> Self {
6157         ::windows::runtime::Interface::cast(value).unwrap()
6158     }
6159 }
6160 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>6161     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
6162         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
6163     }
6164 }
6165 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionColorGradientStop {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>6166     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
6167         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
6168     }
6169 }
6170 unsafe impl ::std::marker::Send for CompositionColorGradientStop {}
6171 unsafe impl ::std::marker::Sync for CompositionColorGradientStop {}
6172 #[repr(transparent)]
6173 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6174 pub struct CompositionColorGradientStopCollection(::windows::runtime::IInspectable);
6175 impl CompositionColorGradientStopCollection {
6176     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionColorGradientStop>>6177     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionColorGradientStop>> {
6178         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>>(self)?;
6179         unsafe {
6180             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6181             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<CompositionColorGradientStop>>(result__)
6182         }
6183     }
6184     #[cfg(feature = "Foundation_Collections")]
GetAt(&self, index: u32) -> ::windows::runtime::Result<CompositionColorGradientStop>6185     pub fn GetAt(&self, index: u32) -> ::windows::runtime::Result<CompositionColorGradientStop> {
6186         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6187         unsafe {
6188             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6189             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), index, &mut result__).from_abi::<CompositionColorGradientStop>(result__)
6190         }
6191     }
6192     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>6193     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
6194         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6195         unsafe {
6196             let mut result__: u32 = ::std::mem::zeroed();
6197             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
6198         }
6199     }
6200     #[cfg(feature = "Foundation_Collections")]
GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<CompositionColorGradientStop>>6201     pub fn GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<CompositionColorGradientStop>> {
6202         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6203         unsafe {
6204             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6205             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<CompositionColorGradientStop>>(result__)
6206         }
6207     }
6208     #[cfg(feature = "Foundation_Collections")]
IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionColorGradientStop>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool>6209     pub fn IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionColorGradientStop>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool> {
6210         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6211         unsafe {
6212             let mut result__: bool = ::std::mem::zeroed();
6213             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi(), index, &mut result__).from_abi::<bool>(result__)
6214         }
6215     }
6216     #[cfg(feature = "Foundation_Collections")]
SetAt<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionColorGradientStop>>(&self, index: u32, value: Param1) -> ::windows::runtime::Result<()>6217     pub fn SetAt<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionColorGradientStop>>(&self, index: u32, value: Param1) -> ::windows::runtime::Result<()> {
6218         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6219         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), index, value.into_param().abi()).ok() }
6220     }
6221     #[cfg(feature = "Foundation_Collections")]
InsertAt<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionColorGradientStop>>(&self, index: u32, value: Param1) -> ::windows::runtime::Result<()>6222     pub fn InsertAt<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionColorGradientStop>>(&self, index: u32, value: Param1) -> ::windows::runtime::Result<()> {
6223         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6224         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), index, value.into_param().abi()).ok() }
6225     }
6226     #[cfg(feature = "Foundation_Collections")]
RemoveAt(&self, index: u32) -> ::windows::runtime::Result<()>6227     pub fn RemoveAt(&self, index: u32) -> ::windows::runtime::Result<()> {
6228         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6229         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), index).ok() }
6230     }
6231     #[cfg(feature = "Foundation_Collections")]
Append<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionColorGradientStop>>(&self, value: Param0) -> ::windows::runtime::Result<()>6232     pub fn Append<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionColorGradientStop>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6233         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6234         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6235     }
6236     #[cfg(feature = "Foundation_Collections")]
RemoveAtEnd(&self) -> ::windows::runtime::Result<()>6237     pub fn RemoveAtEnd(&self) -> ::windows::runtime::Result<()> {
6238         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6239         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this)).ok() }
6240     }
6241     #[cfg(feature = "Foundation_Collections")]
Clear(&self) -> ::windows::runtime::Result<()>6242     pub fn Clear(&self) -> ::windows::runtime::Result<()> {
6243         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6244         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this)).ok() }
6245     }
6246     #[cfg(feature = "Foundation_Collections")]
GetMany(&self, startindex: u32, items: &mut [<CompositionColorGradientStop as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32>6247     pub fn GetMany(&self, startindex: u32, items: &mut [<CompositionColorGradientStop as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32> {
6248         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6249         unsafe {
6250             let mut result__: u32 = ::std::mem::zeroed();
6251             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), startindex, items.len() as u32, ::std::mem::transmute_copy(&items), &mut result__).from_abi::<u32>(result__)
6252         }
6253     }
6254     #[cfg(feature = "Foundation_Collections")]
ReplaceAll(&self, items: &[<CompositionColorGradientStop as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()>6255     pub fn ReplaceAll(&self, items: &[<CompositionColorGradientStop as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()> {
6256         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>(self)?;
6257         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), items.len() as u32, ::std::mem::transmute(items.as_ptr())).ok() }
6258     }
6259 }
6260 unsafe impl ::windows::runtime::RuntimeType for CompositionColorGradientStopCollection {
6261     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionColorGradientStopCollection;{9f1d20ec-7b04-4b1d-90bc-9fa32c0cfd26})");
6262 }
6263 unsafe impl ::windows::runtime::Interface for CompositionColorGradientStopCollection {
6264     type Vtable = ICompositionColorGradientStopCollection_abi;
6265     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2669486316, 31492, 19229, [144, 188, 159, 163, 44, 12, 253, 38]);
6266 }
6267 impl ::windows::runtime::RuntimeName for CompositionColorGradientStopCollection {
6268     const NAME: &'static str = "Windows.UI.Composition.CompositionColorGradientStopCollection";
6269 }
6270 impl ::std::convert::From<CompositionColorGradientStopCollection> for ::windows::runtime::IUnknown {
from(value: CompositionColorGradientStopCollection) -> Self6271     fn from(value: CompositionColorGradientStopCollection) -> Self {
6272         unsafe { ::std::mem::transmute(value) }
6273     }
6274 }
6275 impl ::std::convert::From<&CompositionColorGradientStopCollection> for ::windows::runtime::IUnknown {
from(value: &CompositionColorGradientStopCollection) -> Self6276     fn from(value: &CompositionColorGradientStopCollection) -> Self {
6277         ::std::convert::From::from(::std::clone::Clone::clone(value))
6278     }
6279 }
6280 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionColorGradientStopCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6281     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6282         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6283     }
6284 }
6285 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionColorGradientStopCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6286     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6287         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6288     }
6289 }
6290 impl ::std::convert::From<CompositionColorGradientStopCollection> for ::windows::runtime::IInspectable {
from(value: CompositionColorGradientStopCollection) -> Self6291     fn from(value: CompositionColorGradientStopCollection) -> Self {
6292         value.0
6293     }
6294 }
6295 impl ::std::convert::From<&CompositionColorGradientStopCollection> for ::windows::runtime::IInspectable {
from(value: &CompositionColorGradientStopCollection) -> Self6296     fn from(value: &CompositionColorGradientStopCollection) -> Self {
6297         value.0.clone()
6298     }
6299 }
6300 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionColorGradientStopCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6301     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6302         ::windows::runtime::Param::Owned(self.0)
6303     }
6304 }
6305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionColorGradientStopCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6307         ::windows::runtime::Param::Borrowed(&self.0)
6308     }
6309 }
6310 #[cfg(feature = "Foundation_Collections")]
6311 impl ::std::convert::TryFrom<CompositionColorGradientStopCollection> for super::super::Foundation::Collections::IIterable<CompositionColorGradientStop> {
6312     type Error = ::windows::runtime::Error;
try_from(value: CompositionColorGradientStopCollection) -> ::windows::runtime::Result<Self>6313     fn try_from(value: CompositionColorGradientStopCollection) -> ::windows::runtime::Result<Self> {
6314         ::std::convert::TryFrom::try_from(&value)
6315     }
6316 }
6317 #[cfg(feature = "Foundation_Collections")]
6318 impl ::std::convert::TryFrom<&CompositionColorGradientStopCollection> for super::super::Foundation::Collections::IIterable<CompositionColorGradientStop> {
6319     type Error = ::windows::runtime::Error;
try_from(value: &CompositionColorGradientStopCollection) -> ::windows::runtime::Result<Self>6320     fn try_from(value: &CompositionColorGradientStopCollection) -> ::windows::runtime::Result<Self> {
6321         ::windows::runtime::Interface::cast(value)
6322     }
6323 }
6324 #[cfg(feature = "Foundation_Collections")]
6325 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>> for CompositionColorGradientStopCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>>6326     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>> {
6327         ::windows::runtime::IntoParam::into_param(&self)
6328     }
6329 }
6330 #[cfg(feature = "Foundation_Collections")]
6331 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>> for &CompositionColorGradientStopCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>>6332     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>> {
6333         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<CompositionColorGradientStop>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6334     }
6335 }
6336 #[cfg(feature = "Foundation_Collections")]
6337 impl ::std::convert::TryFrom<CompositionColorGradientStopCollection> for super::super::Foundation::Collections::IVector<CompositionColorGradientStop> {
6338     type Error = ::windows::runtime::Error;
try_from(value: CompositionColorGradientStopCollection) -> ::windows::runtime::Result<Self>6339     fn try_from(value: CompositionColorGradientStopCollection) -> ::windows::runtime::Result<Self> {
6340         ::std::convert::TryFrom::try_from(&value)
6341     }
6342 }
6343 #[cfg(feature = "Foundation_Collections")]
6344 impl ::std::convert::TryFrom<&CompositionColorGradientStopCollection> for super::super::Foundation::Collections::IVector<CompositionColorGradientStop> {
6345     type Error = ::windows::runtime::Error;
try_from(value: &CompositionColorGradientStopCollection) -> ::windows::runtime::Result<Self>6346     fn try_from(value: &CompositionColorGradientStopCollection) -> ::windows::runtime::Result<Self> {
6347         ::windows::runtime::Interface::cast(value)
6348     }
6349 }
6350 #[cfg(feature = "Foundation_Collections")]
6351 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVector<CompositionColorGradientStop>> for CompositionColorGradientStopCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>6352     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<CompositionColorGradientStop>> {
6353         ::windows::runtime::IntoParam::into_param(&self)
6354     }
6355 }
6356 #[cfg(feature = "Foundation_Collections")]
6357 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVector<CompositionColorGradientStop>> for &CompositionColorGradientStopCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>6358     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<CompositionColorGradientStop>> {
6359         ::std::convert::TryInto::<super::super::Foundation::Collections::IVector<CompositionColorGradientStop>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6360     }
6361 }
6362 unsafe impl ::std::marker::Send for CompositionColorGradientStopCollection {}
6363 unsafe impl ::std::marker::Sync for CompositionColorGradientStopCollection {}
6364 #[cfg(all(feature = "Foundation_Collections"))]
6365 impl ::std::iter::IntoIterator for CompositionColorGradientStopCollection {
6366     type Item = CompositionColorGradientStop;
6367     type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
into_iter(self) -> Self::IntoIter6368     fn into_iter(self) -> Self::IntoIter {
6369         ::std::iter::IntoIterator::into_iter(&self)
6370     }
6371 }
6372 #[cfg(all(feature = "Foundation_Collections"))]
6373 impl ::std::iter::IntoIterator for &CompositionColorGradientStopCollection {
6374     type Item = CompositionColorGradientStop;
6375     type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
into_iter(self) -> Self::IntoIter6376     fn into_iter(self) -> Self::IntoIter {
6377         super::super::Foundation::Collections::VectorIterator::new(::std::convert::TryInto::try_into(self).ok())
6378     }
6379 }
6380 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6381 #[repr(transparent)]
6382 pub struct CompositionColorSpace(pub i32);
6383 impl CompositionColorSpace {
6384     pub const Auto: CompositionColorSpace = CompositionColorSpace(0i32);
6385     pub const Hsl: CompositionColorSpace = CompositionColorSpace(1i32);
6386     pub const Rgb: CompositionColorSpace = CompositionColorSpace(2i32);
6387     pub const HslLinear: CompositionColorSpace = CompositionColorSpace(3i32);
6388     pub const RgbLinear: CompositionColorSpace = CompositionColorSpace(4i32);
6389 }
6390 impl ::std::convert::From<i32> for CompositionColorSpace {
from(value: i32) -> Self6391     fn from(value: i32) -> Self {
6392         Self(value)
6393     }
6394 }
6395 unsafe impl ::windows::runtime::Abi for CompositionColorSpace {
6396     type Abi = Self;
6397     type DefaultType = Self;
6398 }
6399 unsafe impl ::windows::runtime::RuntimeType for CompositionColorSpace {
6400     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionColorSpace;i4)");
6401 }
6402 #[repr(transparent)]
6403 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6404 pub struct CompositionCommitBatch(::windows::runtime::IInspectable);
6405 impl CompositionCommitBatch {
IsActive(&self) -> ::windows::runtime::Result<bool>6406     pub fn IsActive(&self) -> ::windows::runtime::Result<bool> {
6407         let this = self;
6408         unsafe {
6409             let mut result__: bool = ::std::mem::zeroed();
6410             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6411         }
6412     }
IsEnded(&self) -> ::windows::runtime::Result<bool>6413     pub fn IsEnded(&self) -> ::windows::runtime::Result<bool> {
6414         let this = self;
6415         unsafe {
6416             let mut result__: bool = ::std::mem::zeroed();
6417             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6418         }
6419     }
6420     #[cfg(feature = "Foundation")]
Completed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<::windows::runtime::IInspectable, CompositionBatchCompletedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6421     pub fn Completed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<::windows::runtime::IInspectable, CompositionBatchCompletedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6422         let this = self;
6423         unsafe {
6424             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6425             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6426         }
6427     }
6428     #[cfg(feature = "Foundation")]
RemoveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6429     pub fn RemoveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6430         let this = self;
6431         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6432     }
6433     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>6434     pub fn Close(&self) -> ::windows::runtime::Result<()> {
6435         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
6436         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
6437     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>6438     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
6439         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6440         unsafe {
6441             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6442             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
6443         }
6444     }
6445     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>6446     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
6447         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6448         unsafe {
6449             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6450             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
6451         }
6452     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>6453     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
6454         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6455         unsafe {
6456             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6457             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
6458         }
6459     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>6460     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
6461         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6462         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
6463     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>6464     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
6465         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6466         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
6467     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6468     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6469         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6470         unsafe {
6471             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6472             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6473         }
6474     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>6475     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6476         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6477         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6478     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>6479     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
6480         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6481         unsafe {
6482             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6483             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
6484         }
6485     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>6486     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6487         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6488         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6489     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>6490     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6491         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6492         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6493     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>6494     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6495         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6496         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6497     }
6498     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>6499     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
6500         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
6501         unsafe {
6502             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6503             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
6504         }
6505     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>6506     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
6507         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
6508         unsafe {
6509             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6510             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
6511         }
6512     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>6513     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
6514         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
6515         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
6516     }
6517 }
6518 unsafe impl ::windows::runtime::RuntimeType for CompositionCommitBatch {
6519     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionCommitBatch;{0d00dad0-ca07-4400-8c8e-cb5db08559cc})");
6520 }
6521 unsafe impl ::windows::runtime::Interface for CompositionCommitBatch {
6522     type Vtable = ICompositionCommitBatch_abi;
6523     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(218159824, 51719, 17408, [140, 142, 203, 93, 176, 133, 89, 204]);
6524 }
6525 impl ::windows::runtime::RuntimeName for CompositionCommitBatch {
6526     const NAME: &'static str = "Windows.UI.Composition.CompositionCommitBatch";
6527 }
6528 impl ::std::convert::From<CompositionCommitBatch> for ::windows::runtime::IUnknown {
from(value: CompositionCommitBatch) -> Self6529     fn from(value: CompositionCommitBatch) -> Self {
6530         unsafe { ::std::mem::transmute(value) }
6531     }
6532 }
6533 impl ::std::convert::From<&CompositionCommitBatch> for ::windows::runtime::IUnknown {
from(value: &CompositionCommitBatch) -> Self6534     fn from(value: &CompositionCommitBatch) -> Self {
6535         ::std::convert::From::from(::std::clone::Clone::clone(value))
6536     }
6537 }
6538 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6539     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6540         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6541     }
6542 }
6543 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6544     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6545         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6546     }
6547 }
6548 impl ::std::convert::From<CompositionCommitBatch> for ::windows::runtime::IInspectable {
from(value: CompositionCommitBatch) -> Self6549     fn from(value: CompositionCommitBatch) -> Self {
6550         value.0
6551     }
6552 }
6553 impl ::std::convert::From<&CompositionCommitBatch> for ::windows::runtime::IInspectable {
from(value: &CompositionCommitBatch) -> Self6554     fn from(value: &CompositionCommitBatch) -> Self {
6555         value.0.clone()
6556     }
6557 }
6558 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6559     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6560         ::windows::runtime::Param::Owned(self.0)
6561     }
6562 }
6563 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6564     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6565         ::windows::runtime::Param::Borrowed(&self.0)
6566     }
6567 }
6568 #[cfg(feature = "Foundation")]
6569 impl ::std::convert::TryFrom<CompositionCommitBatch> for super::super::Foundation::IClosable {
6570     type Error = ::windows::runtime::Error;
try_from(value: CompositionCommitBatch) -> ::windows::runtime::Result<Self>6571     fn try_from(value: CompositionCommitBatch) -> ::windows::runtime::Result<Self> {
6572         ::std::convert::TryFrom::try_from(&value)
6573     }
6574 }
6575 #[cfg(feature = "Foundation")]
6576 impl ::std::convert::TryFrom<&CompositionCommitBatch> for super::super::Foundation::IClosable {
6577     type Error = ::windows::runtime::Error;
try_from(value: &CompositionCommitBatch) -> ::windows::runtime::Result<Self>6578     fn try_from(value: &CompositionCommitBatch) -> ::windows::runtime::Result<Self> {
6579         ::windows::runtime::Interface::cast(value)
6580     }
6581 }
6582 #[cfg(feature = "Foundation")]
6583 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>6584     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
6585         ::windows::runtime::IntoParam::into_param(&self)
6586     }
6587 }
6588 #[cfg(feature = "Foundation")]
6589 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>6590     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
6591         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6592     }
6593 }
6594 impl ::std::convert::TryFrom<CompositionCommitBatch> for IAnimationObject {
6595     type Error = ::windows::runtime::Error;
try_from(value: CompositionCommitBatch) -> ::windows::runtime::Result<Self>6596     fn try_from(value: CompositionCommitBatch) -> ::windows::runtime::Result<Self> {
6597         ::std::convert::TryFrom::try_from(&value)
6598     }
6599 }
6600 impl ::std::convert::TryFrom<&CompositionCommitBatch> for IAnimationObject {
6601     type Error = ::windows::runtime::Error;
try_from(value: &CompositionCommitBatch) -> ::windows::runtime::Result<Self>6602     fn try_from(value: &CompositionCommitBatch) -> ::windows::runtime::Result<Self> {
6603         ::windows::runtime::Interface::cast(value)
6604     }
6605 }
6606 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>6607     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
6608         ::windows::runtime::IntoParam::into_param(&self)
6609     }
6610 }
6611 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>6612     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
6613         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6614     }
6615 }
6616 impl ::std::convert::From<CompositionCommitBatch> for CompositionObject {
from(value: CompositionCommitBatch) -> Self6617     fn from(value: CompositionCommitBatch) -> Self {
6618         ::std::convert::Into::<CompositionObject>::into(&value)
6619     }
6620 }
6621 impl ::std::convert::From<&CompositionCommitBatch> for CompositionObject {
from(value: &CompositionCommitBatch) -> Self6622     fn from(value: &CompositionCommitBatch) -> Self {
6623         ::windows::runtime::Interface::cast(value).unwrap()
6624     }
6625 }
6626 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>6627     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
6628         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
6629     }
6630 }
6631 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionCommitBatch {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>6632     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
6633         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
6634     }
6635 }
6636 unsafe impl ::std::marker::Send for CompositionCommitBatch {}
6637 unsafe impl ::std::marker::Sync for CompositionCommitBatch {}
6638 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6639 #[repr(transparent)]
6640 pub struct CompositionCompositeMode(pub i32);
6641 impl CompositionCompositeMode {
6642     pub const Inherit: CompositionCompositeMode = CompositionCompositeMode(0i32);
6643     pub const SourceOver: CompositionCompositeMode = CompositionCompositeMode(1i32);
6644     pub const DestinationInvert: CompositionCompositeMode = CompositionCompositeMode(2i32);
6645     pub const MinBlend: CompositionCompositeMode = CompositionCompositeMode(3i32);
6646 }
6647 impl ::std::convert::From<i32> for CompositionCompositeMode {
from(value: i32) -> Self6648     fn from(value: i32) -> Self {
6649         Self(value)
6650     }
6651 }
6652 unsafe impl ::windows::runtime::Abi for CompositionCompositeMode {
6653     type Abi = Self;
6654     type DefaultType = Self;
6655 }
6656 unsafe impl ::windows::runtime::RuntimeType for CompositionCompositeMode {
6657     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionCompositeMode;i4)");
6658 }
6659 #[repr(transparent)]
6660 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6661 pub struct CompositionContainerShape(::windows::runtime::IInspectable);
6662 impl CompositionContainerShape {
6663     #[cfg(feature = "Foundation_Collections")]
Shapes(&self) -> ::windows::runtime::Result<CompositionShapeCollection>6664     pub fn Shapes(&self) -> ::windows::runtime::Result<CompositionShapeCollection> {
6665         let this = self;
6666         unsafe {
6667             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6668             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionShapeCollection>(result__)
6669         }
6670     }
6671     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>6672     pub fn Close(&self) -> ::windows::runtime::Result<()> {
6673         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
6674         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
6675     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>6676     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
6677         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6678         unsafe {
6679             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6680             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
6681         }
6682     }
6683     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>6684     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
6685         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6686         unsafe {
6687             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6688             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
6689         }
6690     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>6691     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
6692         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6693         unsafe {
6694             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6695             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
6696         }
6697     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>6698     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
6699         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6700         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
6701     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>6702     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
6703         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
6704         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
6705     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6706     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6707         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6708         unsafe {
6709             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6710             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6711         }
6712     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>6713     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6714         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6715         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6716     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>6717     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
6718         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6719         unsafe {
6720             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6721             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
6722         }
6723     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>6724     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6725         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6726         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6727     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>6728     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6729         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6730         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6731     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>6732     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6733         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
6734         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6735     }
6736     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>6737     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
6738         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
6739         unsafe {
6740             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6741             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
6742         }
6743     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>6744     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
6745         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
6746         unsafe {
6747             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6748             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
6749         }
6750     }
6751     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>6752     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
6753         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6754         unsafe {
6755             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
6756             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
6757         }
6758     }
6759     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>6760     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6761         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6762         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6763     }
6764     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>6765     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
6766         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6767         unsafe {
6768             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
6769             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
6770         }
6771     }
6772     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>6773     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6774         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6775         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6776     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>6777     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
6778         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6779         unsafe {
6780             let mut result__: f32 = ::std::mem::zeroed();
6781             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
6782         }
6783     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>6784     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
6785         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6786         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
6787     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>6788     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
6789         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6790         unsafe {
6791             let mut result__: f32 = ::std::mem::zeroed();
6792             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
6793         }
6794     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>6795     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
6796         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6797         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
6798     }
6799     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>6800     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
6801         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6802         unsafe {
6803             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
6804             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
6805         }
6806     }
6807     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>6808     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6809         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6810         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6811     }
6812     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>6813     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
6814         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6815         unsafe {
6816             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
6817             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
6818         }
6819     }
6820     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>6821     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6822         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
6823         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6824     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>6825     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
6826         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
6827         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
6828     }
6829 }
6830 unsafe impl ::windows::runtime::RuntimeType for CompositionContainerShape {
6831     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionContainerShape;{4f5e859b-2e5b-44a8-982c-aa0f69c16059})");
6832 }
6833 unsafe impl ::windows::runtime::Interface for CompositionContainerShape {
6834     type Vtable = ICompositionContainerShape_abi;
6835     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1331594651, 11867, 17576, [152, 44, 170, 15, 105, 193, 96, 89]);
6836 }
6837 impl ::windows::runtime::RuntimeName for CompositionContainerShape {
6838     const NAME: &'static str = "Windows.UI.Composition.CompositionContainerShape";
6839 }
6840 impl ::std::convert::From<CompositionContainerShape> for ::windows::runtime::IUnknown {
from(value: CompositionContainerShape) -> Self6841     fn from(value: CompositionContainerShape) -> Self {
6842         unsafe { ::std::mem::transmute(value) }
6843     }
6844 }
6845 impl ::std::convert::From<&CompositionContainerShape> for ::windows::runtime::IUnknown {
from(value: &CompositionContainerShape) -> Self6846     fn from(value: &CompositionContainerShape) -> Self {
6847         ::std::convert::From::from(::std::clone::Clone::clone(value))
6848     }
6849 }
6850 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6851     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6852         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6853     }
6854 }
6855 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6856     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6857         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6858     }
6859 }
6860 impl ::std::convert::From<CompositionContainerShape> for ::windows::runtime::IInspectable {
from(value: CompositionContainerShape) -> Self6861     fn from(value: CompositionContainerShape) -> Self {
6862         value.0
6863     }
6864 }
6865 impl ::std::convert::From<&CompositionContainerShape> for ::windows::runtime::IInspectable {
from(value: &CompositionContainerShape) -> Self6866     fn from(value: &CompositionContainerShape) -> Self {
6867         value.0.clone()
6868     }
6869 }
6870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6872         ::windows::runtime::Param::Owned(self.0)
6873     }
6874 }
6875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6876     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6877         ::windows::runtime::Param::Borrowed(&self.0)
6878     }
6879 }
6880 #[cfg(feature = "Foundation")]
6881 impl ::std::convert::TryFrom<CompositionContainerShape> for super::super::Foundation::IClosable {
6882     type Error = ::windows::runtime::Error;
try_from(value: CompositionContainerShape) -> ::windows::runtime::Result<Self>6883     fn try_from(value: CompositionContainerShape) -> ::windows::runtime::Result<Self> {
6884         ::std::convert::TryFrom::try_from(&value)
6885     }
6886 }
6887 #[cfg(feature = "Foundation")]
6888 impl ::std::convert::TryFrom<&CompositionContainerShape> for super::super::Foundation::IClosable {
6889     type Error = ::windows::runtime::Error;
try_from(value: &CompositionContainerShape) -> ::windows::runtime::Result<Self>6890     fn try_from(value: &CompositionContainerShape) -> ::windows::runtime::Result<Self> {
6891         ::windows::runtime::Interface::cast(value)
6892     }
6893 }
6894 #[cfg(feature = "Foundation")]
6895 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>6896     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
6897         ::windows::runtime::IntoParam::into_param(&self)
6898     }
6899 }
6900 #[cfg(feature = "Foundation")]
6901 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>6902     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
6903         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6904     }
6905 }
6906 impl ::std::convert::TryFrom<CompositionContainerShape> for IAnimationObject {
6907     type Error = ::windows::runtime::Error;
try_from(value: CompositionContainerShape) -> ::windows::runtime::Result<Self>6908     fn try_from(value: CompositionContainerShape) -> ::windows::runtime::Result<Self> {
6909         ::std::convert::TryFrom::try_from(&value)
6910     }
6911 }
6912 impl ::std::convert::TryFrom<&CompositionContainerShape> for IAnimationObject {
6913     type Error = ::windows::runtime::Error;
try_from(value: &CompositionContainerShape) -> ::windows::runtime::Result<Self>6914     fn try_from(value: &CompositionContainerShape) -> ::windows::runtime::Result<Self> {
6915         ::windows::runtime::Interface::cast(value)
6916     }
6917 }
6918 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>6919     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
6920         ::windows::runtime::IntoParam::into_param(&self)
6921     }
6922 }
6923 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>6924     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
6925         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6926     }
6927 }
6928 impl ::std::convert::From<CompositionContainerShape> for CompositionShape {
from(value: CompositionContainerShape) -> Self6929     fn from(value: CompositionContainerShape) -> Self {
6930         ::std::convert::Into::<CompositionShape>::into(&value)
6931     }
6932 }
6933 impl ::std::convert::From<&CompositionContainerShape> for CompositionShape {
from(value: &CompositionContainerShape) -> Self6934     fn from(value: &CompositionContainerShape) -> Self {
6935         ::windows::runtime::Interface::cast(value).unwrap()
6936     }
6937 }
6938 impl<'a> ::windows::runtime::IntoParam<'a, CompositionShape> for CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionShape>6939     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionShape> {
6940         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionShape>::into(self))
6941     }
6942 }
6943 impl<'a> ::windows::runtime::IntoParam<'a, CompositionShape> for &CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionShape>6944     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionShape> {
6945         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionShape>::into(::std::clone::Clone::clone(self)))
6946     }
6947 }
6948 impl ::std::convert::From<CompositionContainerShape> for CompositionObject {
from(value: CompositionContainerShape) -> Self6949     fn from(value: CompositionContainerShape) -> Self {
6950         ::std::convert::Into::<CompositionObject>::into(&value)
6951     }
6952 }
6953 impl ::std::convert::From<&CompositionContainerShape> for CompositionObject {
from(value: &CompositionContainerShape) -> Self6954     fn from(value: &CompositionContainerShape) -> Self {
6955         ::windows::runtime::Interface::cast(value).unwrap()
6956     }
6957 }
6958 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>6959     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
6960         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
6961     }
6962 }
6963 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionContainerShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>6964     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
6965         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
6966     }
6967 }
6968 unsafe impl ::std::marker::Send for CompositionContainerShape {}
6969 unsafe impl ::std::marker::Sync for CompositionContainerShape {}
6970 #[repr(transparent)]
6971 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6972 pub struct CompositionDrawingSurface(::windows::runtime::IInspectable);
6973 impl CompositionDrawingSurface {
6974     #[cfg(feature = "Graphics_DirectX")]
AlphaMode(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXAlphaMode>6975     pub fn AlphaMode(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXAlphaMode> {
6976         let this = self;
6977         unsafe {
6978             let mut result__: super::super::Graphics::DirectX::DirectXAlphaMode = ::std::mem::zeroed();
6979             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Graphics::DirectX::DirectXAlphaMode>(result__)
6980         }
6981     }
6982     #[cfg(feature = "Graphics_DirectX")]
PixelFormat(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXPixelFormat>6983     pub fn PixelFormat(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXPixelFormat> {
6984         let this = self;
6985         unsafe {
6986             let mut result__: super::super::Graphics::DirectX::DirectXPixelFormat = ::std::mem::zeroed();
6987             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Graphics::DirectX::DirectXPixelFormat>(result__)
6988         }
6989     }
6990     #[cfg(feature = "Foundation")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Size>6991     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Size> {
6992         let this = self;
6993         unsafe {
6994             let mut result__: super::super::Foundation::Size = ::std::mem::zeroed();
6995             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Size>(result__)
6996         }
6997     }
6998     #[cfg(feature = "Graphics")]
SizeInt32(&self) -> ::windows::runtime::Result<super::super::Graphics::SizeInt32>6999     pub fn SizeInt32(&self) -> ::windows::runtime::Result<super::super::Graphics::SizeInt32> {
7000         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
7001         unsafe {
7002             let mut result__: super::super::Graphics::SizeInt32 = ::std::mem::zeroed();
7003             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Graphics::SizeInt32>(result__)
7004         }
7005     }
7006     #[cfg(feature = "Graphics")]
Resize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0) -> ::windows::runtime::Result<()>7007     pub fn Resize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0) -> ::windows::runtime::Result<()> {
7008         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
7009         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), sizepixels.into_param().abi()).ok() }
7010     }
7011     #[cfg(feature = "Graphics")]
Scroll<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>>(&self, offset: Param0) -> ::windows::runtime::Result<()>7012     pub fn Scroll<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>>(&self, offset: Param0) -> ::windows::runtime::Result<()> {
7013         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
7014         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), offset.into_param().abi()).ok() }
7015     }
7016     #[cfg(feature = "Graphics")]
ScrollRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, scrollrect: Param1) -> ::windows::runtime::Result<()>7017     pub fn ScrollRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, scrollrect: Param1) -> ::windows::runtime::Result<()> {
7018         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
7019         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), offset.into_param().abi(), scrollrect.into_param().abi()).ok() }
7020     }
7021     #[cfg(feature = "Graphics")]
ScrollWithClip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, cliprect: Param1) -> ::windows::runtime::Result<()>7022     pub fn ScrollWithClip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, cliprect: Param1) -> ::windows::runtime::Result<()> {
7023         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
7024         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), offset.into_param().abi(), cliprect.into_param().abi()).ok() }
7025     }
7026     #[cfg(feature = "Graphics")]
ScrollRectWithClip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>, Param2: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, cliprect: Param1, scrollrect: Param2) -> ::windows::runtime::Result<()>7027     pub fn ScrollRectWithClip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>, Param2: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, cliprect: Param1, scrollrect: Param2) -> ::windows::runtime::Result<()> {
7028         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
7029         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), offset.into_param().abi(), cliprect.into_param().abi(), scrollrect.into_param().abi()).ok() }
7030     }
7031     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>7032     pub fn Close(&self) -> ::windows::runtime::Result<()> {
7033         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
7034         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
7035     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>7036     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
7037         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7038         unsafe {
7039             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7040             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
7041         }
7042     }
7043     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>7044     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
7045         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7046         unsafe {
7047             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7048             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
7049         }
7050     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>7051     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
7052         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7053         unsafe {
7054             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7055             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
7056         }
7057     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>7058     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
7059         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7060         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
7061     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>7062     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
7063         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7064         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
7065     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7066     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7067         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7068         unsafe {
7069             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7070             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7071         }
7072     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>7073     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7074         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7075         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7076     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>7077     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
7078         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7079         unsafe {
7080             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7081             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
7082         }
7083     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>7084     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7085         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7086         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7087     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>7088     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7089         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7090         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7091     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>7092     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7093         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7094         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7095     }
7096     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>7097     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
7098         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
7099         unsafe {
7100             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7101             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
7102         }
7103     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>7104     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
7105         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
7106         unsafe {
7107             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7108             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
7109         }
7110     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>7111     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
7112         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
7113         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
7114     }
7115 }
7116 unsafe impl ::windows::runtime::RuntimeType for CompositionDrawingSurface {
7117     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionDrawingSurface;{a166c300-fad0-4d11-9e67-e433162ff49e})");
7118 }
7119 unsafe impl ::windows::runtime::Interface for CompositionDrawingSurface {
7120     type Vtable = ICompositionDrawingSurface_abi;
7121     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2707866368, 64208, 19729, [158, 103, 228, 51, 22, 47, 244, 158]);
7122 }
7123 impl ::windows::runtime::RuntimeName for CompositionDrawingSurface {
7124     const NAME: &'static str = "Windows.UI.Composition.CompositionDrawingSurface";
7125 }
7126 impl ::std::convert::From<CompositionDrawingSurface> for ::windows::runtime::IUnknown {
from(value: CompositionDrawingSurface) -> Self7127     fn from(value: CompositionDrawingSurface) -> Self {
7128         unsafe { ::std::mem::transmute(value) }
7129     }
7130 }
7131 impl ::std::convert::From<&CompositionDrawingSurface> for ::windows::runtime::IUnknown {
from(value: &CompositionDrawingSurface) -> Self7132     fn from(value: &CompositionDrawingSurface) -> Self {
7133         ::std::convert::From::from(::std::clone::Clone::clone(value))
7134     }
7135 }
7136 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7137     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7138         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7139     }
7140 }
7141 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7142     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7143         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7144     }
7145 }
7146 impl ::std::convert::From<CompositionDrawingSurface> for ::windows::runtime::IInspectable {
from(value: CompositionDrawingSurface) -> Self7147     fn from(value: CompositionDrawingSurface) -> Self {
7148         value.0
7149     }
7150 }
7151 impl ::std::convert::From<&CompositionDrawingSurface> for ::windows::runtime::IInspectable {
from(value: &CompositionDrawingSurface) -> Self7152     fn from(value: &CompositionDrawingSurface) -> Self {
7153         value.0.clone()
7154     }
7155 }
7156 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7157     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7158         ::windows::runtime::Param::Owned(self.0)
7159     }
7160 }
7161 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7162     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7163         ::windows::runtime::Param::Borrowed(&self.0)
7164     }
7165 }
7166 impl ::std::convert::TryFrom<CompositionDrawingSurface> for ICompositionSurface {
7167     type Error = ::windows::runtime::Error;
try_from(value: CompositionDrawingSurface) -> ::windows::runtime::Result<Self>7168     fn try_from(value: CompositionDrawingSurface) -> ::windows::runtime::Result<Self> {
7169         ::std::convert::TryFrom::try_from(&value)
7170     }
7171 }
7172 impl ::std::convert::TryFrom<&CompositionDrawingSurface> for ICompositionSurface {
7173     type Error = ::windows::runtime::Error;
try_from(value: &CompositionDrawingSurface) -> ::windows::runtime::Result<Self>7174     fn try_from(value: &CompositionDrawingSurface) -> ::windows::runtime::Result<Self> {
7175         ::windows::runtime::Interface::cast(value)
7176     }
7177 }
7178 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionSurface> for CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface>7179     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface> {
7180         ::windows::runtime::IntoParam::into_param(&self)
7181     }
7182 }
7183 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionSurface> for &CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface>7184     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface> {
7185         ::std::convert::TryInto::<ICompositionSurface>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7186     }
7187 }
7188 #[cfg(feature = "Foundation")]
7189 impl ::std::convert::TryFrom<CompositionDrawingSurface> for super::super::Foundation::IClosable {
7190     type Error = ::windows::runtime::Error;
try_from(value: CompositionDrawingSurface) -> ::windows::runtime::Result<Self>7191     fn try_from(value: CompositionDrawingSurface) -> ::windows::runtime::Result<Self> {
7192         ::std::convert::TryFrom::try_from(&value)
7193     }
7194 }
7195 #[cfg(feature = "Foundation")]
7196 impl ::std::convert::TryFrom<&CompositionDrawingSurface> for super::super::Foundation::IClosable {
7197     type Error = ::windows::runtime::Error;
try_from(value: &CompositionDrawingSurface) -> ::windows::runtime::Result<Self>7198     fn try_from(value: &CompositionDrawingSurface) -> ::windows::runtime::Result<Self> {
7199         ::windows::runtime::Interface::cast(value)
7200     }
7201 }
7202 #[cfg(feature = "Foundation")]
7203 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7204     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
7205         ::windows::runtime::IntoParam::into_param(&self)
7206     }
7207 }
7208 #[cfg(feature = "Foundation")]
7209 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7210     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
7211         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7212     }
7213 }
7214 impl ::std::convert::TryFrom<CompositionDrawingSurface> for IAnimationObject {
7215     type Error = ::windows::runtime::Error;
try_from(value: CompositionDrawingSurface) -> ::windows::runtime::Result<Self>7216     fn try_from(value: CompositionDrawingSurface) -> ::windows::runtime::Result<Self> {
7217         ::std::convert::TryFrom::try_from(&value)
7218     }
7219 }
7220 impl ::std::convert::TryFrom<&CompositionDrawingSurface> for IAnimationObject {
7221     type Error = ::windows::runtime::Error;
try_from(value: &CompositionDrawingSurface) -> ::windows::runtime::Result<Self>7222     fn try_from(value: &CompositionDrawingSurface) -> ::windows::runtime::Result<Self> {
7223         ::windows::runtime::Interface::cast(value)
7224     }
7225 }
7226 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>7227     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
7228         ::windows::runtime::IntoParam::into_param(&self)
7229     }
7230 }
7231 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>7232     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
7233         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7234     }
7235 }
7236 impl ::std::convert::From<CompositionDrawingSurface> for CompositionObject {
from(value: CompositionDrawingSurface) -> Self7237     fn from(value: CompositionDrawingSurface) -> Self {
7238         ::std::convert::Into::<CompositionObject>::into(&value)
7239     }
7240 }
7241 impl ::std::convert::From<&CompositionDrawingSurface> for CompositionObject {
from(value: &CompositionDrawingSurface) -> Self7242     fn from(value: &CompositionDrawingSurface) -> Self {
7243         ::windows::runtime::Interface::cast(value).unwrap()
7244     }
7245 }
7246 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>7247     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
7248         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
7249     }
7250 }
7251 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>7252     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
7253         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
7254     }
7255 }
7256 unsafe impl ::std::marker::Send for CompositionDrawingSurface {}
7257 unsafe impl ::std::marker::Sync for CompositionDrawingSurface {}
7258 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7259 #[repr(transparent)]
7260 pub struct CompositionDropShadowSourcePolicy(pub i32);
7261 impl CompositionDropShadowSourcePolicy {
7262     pub const Default: CompositionDropShadowSourcePolicy = CompositionDropShadowSourcePolicy(0i32);
7263     pub const InheritFromVisualContent: CompositionDropShadowSourcePolicy = CompositionDropShadowSourcePolicy(1i32);
7264 }
7265 impl ::std::convert::From<i32> for CompositionDropShadowSourcePolicy {
from(value: i32) -> Self7266     fn from(value: i32) -> Self {
7267         Self(value)
7268     }
7269 }
7270 unsafe impl ::windows::runtime::Abi for CompositionDropShadowSourcePolicy {
7271     type Abi = Self;
7272     type DefaultType = Self;
7273 }
7274 unsafe impl ::windows::runtime::RuntimeType for CompositionDropShadowSourcePolicy {
7275     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionDropShadowSourcePolicy;i4)");
7276 }
7277 #[repr(transparent)]
7278 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7279 pub struct CompositionEasingFunction(::windows::runtime::IInspectable);
7280 impl CompositionEasingFunction {
7281     #[cfg(feature = "Foundation_Numerics")]
CreateCubicBezierEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(owner: Param0, controlpoint1: Param1, controlpoint2: Param2) -> ::windows::runtime::Result<CubicBezierEasingFunction>7282     pub fn CreateCubicBezierEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(owner: Param0, controlpoint1: Param1, controlpoint2: Param2) -> ::windows::runtime::Result<CubicBezierEasingFunction> {
7283         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7284             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7285             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), owner.into_param().abi(), controlpoint1.into_param().abi(), controlpoint2.into_param().abi(), &mut result__).from_abi::<CubicBezierEasingFunction>(result__)
7286         })
7287     }
CreateLinearEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0) -> ::windows::runtime::Result<LinearEasingFunction>7288     pub fn CreateLinearEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0) -> ::windows::runtime::Result<LinearEasingFunction> {
7289         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7290             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7291             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), owner.into_param().abi(), &mut result__).from_abi::<LinearEasingFunction>(result__)
7292         })
7293     }
CreateStepEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0) -> ::windows::runtime::Result<StepEasingFunction>7294     pub fn CreateStepEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0) -> ::windows::runtime::Result<StepEasingFunction> {
7295         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7296             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7297             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), owner.into_param().abi(), &mut result__).from_abi::<StepEasingFunction>(result__)
7298         })
7299     }
CreateStepEasingFunctionWithStepCount<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, stepcount: i32) -> ::windows::runtime::Result<StepEasingFunction>7300     pub fn CreateStepEasingFunctionWithStepCount<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, stepcount: i32) -> ::windows::runtime::Result<StepEasingFunction> {
7301         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7302             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7303             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), owner.into_param().abi(), stepcount, &mut result__).from_abi::<StepEasingFunction>(result__)
7304         })
7305     }
CreateBackEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, amplitude: f32) -> ::windows::runtime::Result<BackEasingFunction>7306     pub fn CreateBackEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, amplitude: f32) -> ::windows::runtime::Result<BackEasingFunction> {
7307         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7308             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7309             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), owner.into_param().abi(), mode, amplitude, &mut result__).from_abi::<BackEasingFunction>(result__)
7310         })
7311     }
CreateBounceEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, bounces: i32, bounciness: f32) -> ::windows::runtime::Result<BounceEasingFunction>7312     pub fn CreateBounceEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, bounces: i32, bounciness: f32) -> ::windows::runtime::Result<BounceEasingFunction> {
7313         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7314             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7315             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), owner.into_param().abi(), mode, bounces, bounciness, &mut result__).from_abi::<BounceEasingFunction>(result__)
7316         })
7317     }
CreateCircleEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode) -> ::windows::runtime::Result<CircleEasingFunction>7318     pub fn CreateCircleEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode) -> ::windows::runtime::Result<CircleEasingFunction> {
7319         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7320             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7321             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), owner.into_param().abi(), mode, &mut result__).from_abi::<CircleEasingFunction>(result__)
7322         })
7323     }
CreateElasticEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, oscillations: i32, springiness: f32) -> ::windows::runtime::Result<ElasticEasingFunction>7324     pub fn CreateElasticEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, oscillations: i32, springiness: f32) -> ::windows::runtime::Result<ElasticEasingFunction> {
7325         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7326             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7327             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), owner.into_param().abi(), mode, oscillations, springiness, &mut result__).from_abi::<ElasticEasingFunction>(result__)
7328         })
7329     }
CreateExponentialEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, exponent: f32) -> ::windows::runtime::Result<ExponentialEasingFunction>7330     pub fn CreateExponentialEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, exponent: f32) -> ::windows::runtime::Result<ExponentialEasingFunction> {
7331         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7332             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7333             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), owner.into_param().abi(), mode, exponent, &mut result__).from_abi::<ExponentialEasingFunction>(result__)
7334         })
7335     }
CreatePowerEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, power: f32) -> ::windows::runtime::Result<PowerEasingFunction>7336     pub fn CreatePowerEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode, power: f32) -> ::windows::runtime::Result<PowerEasingFunction> {
7337         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7338             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7339             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), owner.into_param().abi(), mode, power, &mut result__).from_abi::<PowerEasingFunction>(result__)
7340         })
7341     }
CreateSineEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode) -> ::windows::runtime::Result<SineEasingFunction>7342     pub fn CreateSineEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(owner: Param0, mode: CompositionEasingFunctionMode) -> ::windows::runtime::Result<SineEasingFunction> {
7343         Self::ICompositionEasingFunctionStatics(|this| unsafe {
7344             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7345             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), owner.into_param().abi(), mode, &mut result__).from_abi::<SineEasingFunction>(result__)
7346         })
7347     }
7348     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>7349     pub fn Close(&self) -> ::windows::runtime::Result<()> {
7350         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
7351         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
7352     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>7353     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
7354         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7355         unsafe {
7356             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7357             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
7358         }
7359     }
7360     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>7361     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
7362         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7363         unsafe {
7364             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7365             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
7366         }
7367     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>7368     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
7369         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7370         unsafe {
7371             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7372             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
7373         }
7374     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>7375     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
7376         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7377         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
7378     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>7379     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
7380         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7381         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
7382     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7383     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7384         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7385         unsafe {
7386             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7387             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7388         }
7389     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>7390     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7391         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7392         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7393     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>7394     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
7395         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7396         unsafe {
7397             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7398             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
7399         }
7400     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>7401     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7402         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7403         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7404     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>7405     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7406         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7407         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7408     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>7409     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7410         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7411         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7412     }
7413     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>7414     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
7415         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
7416         unsafe {
7417             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7418             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
7419         }
7420     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>7421     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
7422         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
7423         unsafe {
7424             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7425             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
7426         }
7427     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>7428     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
7429         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
7430         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
7431     }
ICompositionEasingFunctionStatics<R, F: FnOnce(&ICompositionEasingFunctionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>7432     pub fn ICompositionEasingFunctionStatics<R, F: FnOnce(&ICompositionEasingFunctionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
7433         static mut SHARED: ::windows::runtime::FactoryCache<CompositionEasingFunction, ICompositionEasingFunctionStatics> = ::windows::runtime::FactoryCache::new();
7434         unsafe { SHARED.call(callback) }
7435     }
7436 }
7437 unsafe impl ::windows::runtime::RuntimeType for CompositionEasingFunction {
7438     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEasingFunction;{5145e356-bf79-4ea8-8cc2-6b5b472e6c9a})");
7439 }
7440 unsafe impl ::windows::runtime::Interface for CompositionEasingFunction {
7441     type Vtable = ICompositionEasingFunction_abi;
7442     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1363534678, 49017, 20136, [140, 194, 107, 91, 71, 46, 108, 154]);
7443 }
7444 impl ::windows::runtime::RuntimeName for CompositionEasingFunction {
7445     const NAME: &'static str = "Windows.UI.Composition.CompositionEasingFunction";
7446 }
7447 impl ::std::convert::From<CompositionEasingFunction> for ::windows::runtime::IUnknown {
from(value: CompositionEasingFunction) -> Self7448     fn from(value: CompositionEasingFunction) -> Self {
7449         unsafe { ::std::mem::transmute(value) }
7450     }
7451 }
7452 impl ::std::convert::From<&CompositionEasingFunction> for ::windows::runtime::IUnknown {
from(value: &CompositionEasingFunction) -> Self7453     fn from(value: &CompositionEasingFunction) -> Self {
7454         ::std::convert::From::from(::std::clone::Clone::clone(value))
7455     }
7456 }
7457 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7458     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7459         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7460     }
7461 }
7462 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7463     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7464         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7465     }
7466 }
7467 impl ::std::convert::From<CompositionEasingFunction> for ::windows::runtime::IInspectable {
from(value: CompositionEasingFunction) -> Self7468     fn from(value: CompositionEasingFunction) -> Self {
7469         value.0
7470     }
7471 }
7472 impl ::std::convert::From<&CompositionEasingFunction> for ::windows::runtime::IInspectable {
from(value: &CompositionEasingFunction) -> Self7473     fn from(value: &CompositionEasingFunction) -> Self {
7474         value.0.clone()
7475     }
7476 }
7477 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7478     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7479         ::windows::runtime::Param::Owned(self.0)
7480     }
7481 }
7482 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7483     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7484         ::windows::runtime::Param::Borrowed(&self.0)
7485     }
7486 }
7487 #[cfg(feature = "Foundation")]
7488 impl ::std::convert::TryFrom<CompositionEasingFunction> for super::super::Foundation::IClosable {
7489     type Error = ::windows::runtime::Error;
try_from(value: CompositionEasingFunction) -> ::windows::runtime::Result<Self>7490     fn try_from(value: CompositionEasingFunction) -> ::windows::runtime::Result<Self> {
7491         ::std::convert::TryFrom::try_from(&value)
7492     }
7493 }
7494 #[cfg(feature = "Foundation")]
7495 impl ::std::convert::TryFrom<&CompositionEasingFunction> for super::super::Foundation::IClosable {
7496     type Error = ::windows::runtime::Error;
try_from(value: &CompositionEasingFunction) -> ::windows::runtime::Result<Self>7497     fn try_from(value: &CompositionEasingFunction) -> ::windows::runtime::Result<Self> {
7498         ::windows::runtime::Interface::cast(value)
7499     }
7500 }
7501 #[cfg(feature = "Foundation")]
7502 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7503     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
7504         ::windows::runtime::IntoParam::into_param(&self)
7505     }
7506 }
7507 #[cfg(feature = "Foundation")]
7508 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7509     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
7510         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7511     }
7512 }
7513 impl ::std::convert::TryFrom<CompositionEasingFunction> for IAnimationObject {
7514     type Error = ::windows::runtime::Error;
try_from(value: CompositionEasingFunction) -> ::windows::runtime::Result<Self>7515     fn try_from(value: CompositionEasingFunction) -> ::windows::runtime::Result<Self> {
7516         ::std::convert::TryFrom::try_from(&value)
7517     }
7518 }
7519 impl ::std::convert::TryFrom<&CompositionEasingFunction> for IAnimationObject {
7520     type Error = ::windows::runtime::Error;
try_from(value: &CompositionEasingFunction) -> ::windows::runtime::Result<Self>7521     fn try_from(value: &CompositionEasingFunction) -> ::windows::runtime::Result<Self> {
7522         ::windows::runtime::Interface::cast(value)
7523     }
7524 }
7525 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>7526     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
7527         ::windows::runtime::IntoParam::into_param(&self)
7528     }
7529 }
7530 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>7531     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
7532         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7533     }
7534 }
7535 impl ::std::convert::From<CompositionEasingFunction> for CompositionObject {
from(value: CompositionEasingFunction) -> Self7536     fn from(value: CompositionEasingFunction) -> Self {
7537         ::std::convert::Into::<CompositionObject>::into(&value)
7538     }
7539 }
7540 impl ::std::convert::From<&CompositionEasingFunction> for CompositionObject {
from(value: &CompositionEasingFunction) -> Self7541     fn from(value: &CompositionEasingFunction) -> Self {
7542         ::windows::runtime::Interface::cast(value).unwrap()
7543     }
7544 }
7545 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>7546     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
7547         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
7548     }
7549 }
7550 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>7551     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
7552         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
7553     }
7554 }
7555 unsafe impl ::std::marker::Send for CompositionEasingFunction {}
7556 unsafe impl ::std::marker::Sync for CompositionEasingFunction {}
7557 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7558 #[repr(transparent)]
7559 pub struct CompositionEasingFunctionMode(pub i32);
7560 impl CompositionEasingFunctionMode {
7561     pub const In: CompositionEasingFunctionMode = CompositionEasingFunctionMode(0i32);
7562     pub const Out: CompositionEasingFunctionMode = CompositionEasingFunctionMode(1i32);
7563     pub const InOut: CompositionEasingFunctionMode = CompositionEasingFunctionMode(2i32);
7564 }
7565 impl ::std::convert::From<i32> for CompositionEasingFunctionMode {
from(value: i32) -> Self7566     fn from(value: i32) -> Self {
7567         Self(value)
7568     }
7569 }
7570 unsafe impl ::windows::runtime::Abi for CompositionEasingFunctionMode {
7571     type Abi = Self;
7572     type DefaultType = Self;
7573 }
7574 unsafe impl ::windows::runtime::RuntimeType for CompositionEasingFunctionMode {
7575     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionEasingFunctionMode;i4)");
7576 }
7577 #[repr(transparent)]
7578 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7579 pub struct CompositionEffectBrush(::windows::runtime::IInspectable);
7580 impl CompositionEffectBrush {
GetSourceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<CompositionBrush>7581     pub fn GetSourceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<CompositionBrush> {
7582         let this = self;
7583         unsafe {
7584             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7585             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<CompositionBrush>(result__)
7586         }
7587     }
SetSourceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, name: Param0, source: Param1) -> ::windows::runtime::Result<()>7588     pub fn SetSourceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, name: Param0, source: Param1) -> ::windows::runtime::Result<()> {
7589         let this = self;
7590         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), name.into_param().abi(), source.into_param().abi()).ok() }
7591     }
7592     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>7593     pub fn Close(&self) -> ::windows::runtime::Result<()> {
7594         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
7595         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
7596     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>7597     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
7598         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7599         unsafe {
7600             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7601             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
7602         }
7603     }
7604     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>7605     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
7606         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7607         unsafe {
7608             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7609             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
7610         }
7611     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>7612     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
7613         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7614         unsafe {
7615             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7616             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
7617         }
7618     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>7619     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
7620         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7621         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
7622     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>7623     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
7624         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7625         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
7626     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7627     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7628         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7629         unsafe {
7630             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7631             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7632         }
7633     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>7634     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7635         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7636         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7637     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>7638     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
7639         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7640         unsafe {
7641             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7642             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
7643         }
7644     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>7645     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7646         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7647         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7648     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>7649     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7650         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7651         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7652     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>7653     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7654         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7655         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7656     }
7657     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>7658     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
7659         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
7660         unsafe {
7661             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7662             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
7663         }
7664     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>7665     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
7666         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
7667         unsafe {
7668             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7669             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
7670         }
7671     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>7672     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
7673         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
7674         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
7675     }
7676 }
7677 unsafe impl ::windows::runtime::RuntimeType for CompositionEffectBrush {
7678     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEffectBrush;{bf7f795e-83cc-44bf-a447-3e3c071789ec})");
7679 }
7680 unsafe impl ::windows::runtime::Interface for CompositionEffectBrush {
7681     type Vtable = ICompositionEffectBrush_abi;
7682     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3212802398, 33740, 17599, [164, 71, 62, 60, 7, 23, 137, 236]);
7683 }
7684 impl ::windows::runtime::RuntimeName for CompositionEffectBrush {
7685     const NAME: &'static str = "Windows.UI.Composition.CompositionEffectBrush";
7686 }
7687 impl ::std::convert::From<CompositionEffectBrush> for ::windows::runtime::IUnknown {
from(value: CompositionEffectBrush) -> Self7688     fn from(value: CompositionEffectBrush) -> Self {
7689         unsafe { ::std::mem::transmute(value) }
7690     }
7691 }
7692 impl ::std::convert::From<&CompositionEffectBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionEffectBrush) -> Self7693     fn from(value: &CompositionEffectBrush) -> Self {
7694         ::std::convert::From::from(::std::clone::Clone::clone(value))
7695     }
7696 }
7697 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7698     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7699         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7700     }
7701 }
7702 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7703     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7704         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7705     }
7706 }
7707 impl ::std::convert::From<CompositionEffectBrush> for ::windows::runtime::IInspectable {
from(value: CompositionEffectBrush) -> Self7708     fn from(value: CompositionEffectBrush) -> Self {
7709         value.0
7710     }
7711 }
7712 impl ::std::convert::From<&CompositionEffectBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionEffectBrush) -> Self7713     fn from(value: &CompositionEffectBrush) -> Self {
7714         value.0.clone()
7715     }
7716 }
7717 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7718     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7719         ::windows::runtime::Param::Owned(self.0)
7720     }
7721 }
7722 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7723     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7724         ::windows::runtime::Param::Borrowed(&self.0)
7725     }
7726 }
7727 #[cfg(feature = "Foundation")]
7728 impl ::std::convert::TryFrom<CompositionEffectBrush> for super::super::Foundation::IClosable {
7729     type Error = ::windows::runtime::Error;
try_from(value: CompositionEffectBrush) -> ::windows::runtime::Result<Self>7730     fn try_from(value: CompositionEffectBrush) -> ::windows::runtime::Result<Self> {
7731         ::std::convert::TryFrom::try_from(&value)
7732     }
7733 }
7734 #[cfg(feature = "Foundation")]
7735 impl ::std::convert::TryFrom<&CompositionEffectBrush> for super::super::Foundation::IClosable {
7736     type Error = ::windows::runtime::Error;
try_from(value: &CompositionEffectBrush) -> ::windows::runtime::Result<Self>7737     fn try_from(value: &CompositionEffectBrush) -> ::windows::runtime::Result<Self> {
7738         ::windows::runtime::Interface::cast(value)
7739     }
7740 }
7741 #[cfg(feature = "Foundation")]
7742 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7743     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
7744         ::windows::runtime::IntoParam::into_param(&self)
7745     }
7746 }
7747 #[cfg(feature = "Foundation")]
7748 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7749     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
7750         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7751     }
7752 }
7753 impl ::std::convert::TryFrom<CompositionEffectBrush> for IAnimationObject {
7754     type Error = ::windows::runtime::Error;
try_from(value: CompositionEffectBrush) -> ::windows::runtime::Result<Self>7755     fn try_from(value: CompositionEffectBrush) -> ::windows::runtime::Result<Self> {
7756         ::std::convert::TryFrom::try_from(&value)
7757     }
7758 }
7759 impl ::std::convert::TryFrom<&CompositionEffectBrush> for IAnimationObject {
7760     type Error = ::windows::runtime::Error;
try_from(value: &CompositionEffectBrush) -> ::windows::runtime::Result<Self>7761     fn try_from(value: &CompositionEffectBrush) -> ::windows::runtime::Result<Self> {
7762         ::windows::runtime::Interface::cast(value)
7763     }
7764 }
7765 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>7766     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
7767         ::windows::runtime::IntoParam::into_param(&self)
7768     }
7769 }
7770 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>7771     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
7772         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7773     }
7774 }
7775 impl ::std::convert::From<CompositionEffectBrush> for CompositionBrush {
from(value: CompositionEffectBrush) -> Self7776     fn from(value: CompositionEffectBrush) -> Self {
7777         ::std::convert::Into::<CompositionBrush>::into(&value)
7778     }
7779 }
7780 impl ::std::convert::From<&CompositionEffectBrush> for CompositionBrush {
from(value: &CompositionEffectBrush) -> Self7781     fn from(value: &CompositionEffectBrush) -> Self {
7782         ::windows::runtime::Interface::cast(value).unwrap()
7783     }
7784 }
7785 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>7786     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
7787         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(self))
7788     }
7789 }
7790 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for &CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>7791     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
7792         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(::std::clone::Clone::clone(self)))
7793     }
7794 }
7795 impl ::std::convert::From<CompositionEffectBrush> for CompositionObject {
from(value: CompositionEffectBrush) -> Self7796     fn from(value: CompositionEffectBrush) -> Self {
7797         ::std::convert::Into::<CompositionObject>::into(&value)
7798     }
7799 }
7800 impl ::std::convert::From<&CompositionEffectBrush> for CompositionObject {
from(value: &CompositionEffectBrush) -> Self7801     fn from(value: &CompositionEffectBrush) -> Self {
7802         ::windows::runtime::Interface::cast(value).unwrap()
7803     }
7804 }
7805 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>7806     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
7807         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
7808     }
7809 }
7810 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionEffectBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>7811     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
7812         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
7813     }
7814 }
7815 unsafe impl ::std::marker::Send for CompositionEffectBrush {}
7816 unsafe impl ::std::marker::Sync for CompositionEffectBrush {}
7817 #[repr(transparent)]
7818 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7819 pub struct CompositionEffectFactory(::windows::runtime::IInspectable);
7820 impl CompositionEffectFactory {
CreateBrush(&self) -> ::windows::runtime::Result<CompositionEffectBrush>7821     pub fn CreateBrush(&self) -> ::windows::runtime::Result<CompositionEffectBrush> {
7822         let this = self;
7823         unsafe {
7824             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7825             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEffectBrush>(result__)
7826         }
7827     }
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>7828     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
7829         let this = self;
7830         unsafe {
7831             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
7832             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
7833         }
7834     }
LoadStatus(&self) -> ::windows::runtime::Result<CompositionEffectFactoryLoadStatus>7835     pub fn LoadStatus(&self) -> ::windows::runtime::Result<CompositionEffectFactoryLoadStatus> {
7836         let this = self;
7837         unsafe {
7838             let mut result__: CompositionEffectFactoryLoadStatus = ::std::mem::zeroed();
7839             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEffectFactoryLoadStatus>(result__)
7840         }
7841     }
7842     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>7843     pub fn Close(&self) -> ::windows::runtime::Result<()> {
7844         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
7845         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
7846     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>7847     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
7848         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7849         unsafe {
7850             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7851             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
7852         }
7853     }
7854     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>7855     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
7856         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7857         unsafe {
7858             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7859             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
7860         }
7861     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>7862     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
7863         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7864         unsafe {
7865             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7866             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
7867         }
7868     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>7869     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
7870         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7871         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
7872     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>7873     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
7874         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
7875         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
7876     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7877     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7878         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7879         unsafe {
7880             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7881             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7882         }
7883     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>7884     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7885         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7886         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7887     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>7888     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
7889         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7890         unsafe {
7891             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7892             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
7893         }
7894     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>7895     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7896         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7897         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7898     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>7899     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7900         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7901         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7902     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>7903     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7904         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
7905         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7906     }
7907     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>7908     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
7909         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
7910         unsafe {
7911             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7912             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
7913         }
7914     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>7915     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
7916         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
7917         unsafe {
7918             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7919             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
7920         }
7921     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>7922     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
7923         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
7924         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
7925     }
7926 }
7927 unsafe impl ::windows::runtime::RuntimeType for CompositionEffectFactory {
7928     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEffectFactory;{be5624af-ba7e-4510-9850-41c0b4ff74df})");
7929 }
7930 unsafe impl ::windows::runtime::Interface for CompositionEffectFactory {
7931     type Vtable = ICompositionEffectFactory_abi;
7932     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3193316527, 47742, 17680, [152, 80, 65, 192, 180, 255, 116, 223]);
7933 }
7934 impl ::windows::runtime::RuntimeName for CompositionEffectFactory {
7935     const NAME: &'static str = "Windows.UI.Composition.CompositionEffectFactory";
7936 }
7937 impl ::std::convert::From<CompositionEffectFactory> for ::windows::runtime::IUnknown {
from(value: CompositionEffectFactory) -> Self7938     fn from(value: CompositionEffectFactory) -> Self {
7939         unsafe { ::std::mem::transmute(value) }
7940     }
7941 }
7942 impl ::std::convert::From<&CompositionEffectFactory> for ::windows::runtime::IUnknown {
from(value: &CompositionEffectFactory) -> Self7943     fn from(value: &CompositionEffectFactory) -> Self {
7944         ::std::convert::From::from(::std::clone::Clone::clone(value))
7945     }
7946 }
7947 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7948     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7949         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7950     }
7951 }
7952 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7953     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7954         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7955     }
7956 }
7957 impl ::std::convert::From<CompositionEffectFactory> for ::windows::runtime::IInspectable {
from(value: CompositionEffectFactory) -> Self7958     fn from(value: CompositionEffectFactory) -> Self {
7959         value.0
7960     }
7961 }
7962 impl ::std::convert::From<&CompositionEffectFactory> for ::windows::runtime::IInspectable {
from(value: &CompositionEffectFactory) -> Self7963     fn from(value: &CompositionEffectFactory) -> Self {
7964         value.0.clone()
7965     }
7966 }
7967 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7968     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7969         ::windows::runtime::Param::Owned(self.0)
7970     }
7971 }
7972 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7973     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7974         ::windows::runtime::Param::Borrowed(&self.0)
7975     }
7976 }
7977 #[cfg(feature = "Foundation")]
7978 impl ::std::convert::TryFrom<CompositionEffectFactory> for super::super::Foundation::IClosable {
7979     type Error = ::windows::runtime::Error;
try_from(value: CompositionEffectFactory) -> ::windows::runtime::Result<Self>7980     fn try_from(value: CompositionEffectFactory) -> ::windows::runtime::Result<Self> {
7981         ::std::convert::TryFrom::try_from(&value)
7982     }
7983 }
7984 #[cfg(feature = "Foundation")]
7985 impl ::std::convert::TryFrom<&CompositionEffectFactory> for super::super::Foundation::IClosable {
7986     type Error = ::windows::runtime::Error;
try_from(value: &CompositionEffectFactory) -> ::windows::runtime::Result<Self>7987     fn try_from(value: &CompositionEffectFactory) -> ::windows::runtime::Result<Self> {
7988         ::windows::runtime::Interface::cast(value)
7989     }
7990 }
7991 #[cfg(feature = "Foundation")]
7992 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7993     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
7994         ::windows::runtime::IntoParam::into_param(&self)
7995     }
7996 }
7997 #[cfg(feature = "Foundation")]
7998 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7999     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
8000         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
8001     }
8002 }
8003 impl ::std::convert::TryFrom<CompositionEffectFactory> for IAnimationObject {
8004     type Error = ::windows::runtime::Error;
try_from(value: CompositionEffectFactory) -> ::windows::runtime::Result<Self>8005     fn try_from(value: CompositionEffectFactory) -> ::windows::runtime::Result<Self> {
8006         ::std::convert::TryFrom::try_from(&value)
8007     }
8008 }
8009 impl ::std::convert::TryFrom<&CompositionEffectFactory> for IAnimationObject {
8010     type Error = ::windows::runtime::Error;
try_from(value: &CompositionEffectFactory) -> ::windows::runtime::Result<Self>8011     fn try_from(value: &CompositionEffectFactory) -> ::windows::runtime::Result<Self> {
8012         ::windows::runtime::Interface::cast(value)
8013     }
8014 }
8015 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>8016     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
8017         ::windows::runtime::IntoParam::into_param(&self)
8018     }
8019 }
8020 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>8021     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
8022         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
8023     }
8024 }
8025 impl ::std::convert::From<CompositionEffectFactory> for CompositionObject {
from(value: CompositionEffectFactory) -> Self8026     fn from(value: CompositionEffectFactory) -> Self {
8027         ::std::convert::Into::<CompositionObject>::into(&value)
8028     }
8029 }
8030 impl ::std::convert::From<&CompositionEffectFactory> for CompositionObject {
from(value: &CompositionEffectFactory) -> Self8031     fn from(value: &CompositionEffectFactory) -> Self {
8032         ::windows::runtime::Interface::cast(value).unwrap()
8033     }
8034 }
8035 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>8036     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
8037         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
8038     }
8039 }
8040 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionEffectFactory {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>8041     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
8042         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
8043     }
8044 }
8045 unsafe impl ::std::marker::Send for CompositionEffectFactory {}
8046 unsafe impl ::std::marker::Sync for CompositionEffectFactory {}
8047 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8048 #[repr(transparent)]
8049 pub struct CompositionEffectFactoryLoadStatus(pub i32);
8050 impl CompositionEffectFactoryLoadStatus {
8051     pub const Success: CompositionEffectFactoryLoadStatus = CompositionEffectFactoryLoadStatus(0i32);
8052     pub const EffectTooComplex: CompositionEffectFactoryLoadStatus = CompositionEffectFactoryLoadStatus(1i32);
8053     pub const Pending: CompositionEffectFactoryLoadStatus = CompositionEffectFactoryLoadStatus(2i32);
8054     pub const Other: CompositionEffectFactoryLoadStatus = CompositionEffectFactoryLoadStatus(-1i32);
8055 }
8056 impl ::std::convert::From<i32> for CompositionEffectFactoryLoadStatus {
from(value: i32) -> Self8057     fn from(value: i32) -> Self {
8058         Self(value)
8059     }
8060 }
8061 unsafe impl ::windows::runtime::Abi for CompositionEffectFactoryLoadStatus {
8062     type Abi = Self;
8063     type DefaultType = Self;
8064 }
8065 unsafe impl ::windows::runtime::RuntimeType for CompositionEffectFactoryLoadStatus {
8066     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionEffectFactoryLoadStatus;i4)");
8067 }
8068 #[repr(transparent)]
8069 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8070 pub struct CompositionEffectSourceParameter(::windows::runtime::IInspectable);
8071 impl CompositionEffectSourceParameter {
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8072     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8073         let this = self;
8074         unsafe {
8075             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8076             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8077         }
8078     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(name: Param0) -> ::windows::runtime::Result<CompositionEffectSourceParameter>8079     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(name: Param0) -> ::windows::runtime::Result<CompositionEffectSourceParameter> {
8080         Self::ICompositionEffectSourceParameterFactory(|this| unsafe {
8081             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8082             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<CompositionEffectSourceParameter>(result__)
8083         })
8084     }
ICompositionEffectSourceParameterFactory<R, F: FnOnce(&ICompositionEffectSourceParameterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>8085     pub fn ICompositionEffectSourceParameterFactory<R, F: FnOnce(&ICompositionEffectSourceParameterFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
8086         static mut SHARED: ::windows::runtime::FactoryCache<CompositionEffectSourceParameter, ICompositionEffectSourceParameterFactory> = ::windows::runtime::FactoryCache::new();
8087         unsafe { SHARED.call(callback) }
8088     }
8089 }
8090 unsafe impl ::windows::runtime::RuntimeType for CompositionEffectSourceParameter {
8091     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEffectSourceParameter;{858ab13a-3292-4e4e-b3bb-2b6c6544a6ee})");
8092 }
8093 unsafe impl ::windows::runtime::Interface for CompositionEffectSourceParameter {
8094     type Vtable = ICompositionEffectSourceParameter_abi;
8095     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2240459066, 12946, 20046, [179, 187, 43, 108, 101, 68, 166, 238]);
8096 }
8097 impl ::windows::runtime::RuntimeName for CompositionEffectSourceParameter {
8098     const NAME: &'static str = "Windows.UI.Composition.CompositionEffectSourceParameter";
8099 }
8100 impl ::std::convert::From<CompositionEffectSourceParameter> for ::windows::runtime::IUnknown {
from(value: CompositionEffectSourceParameter) -> Self8101     fn from(value: CompositionEffectSourceParameter) -> Self {
8102         unsafe { ::std::mem::transmute(value) }
8103     }
8104 }
8105 impl ::std::convert::From<&CompositionEffectSourceParameter> for ::windows::runtime::IUnknown {
from(value: &CompositionEffectSourceParameter) -> Self8106     fn from(value: &CompositionEffectSourceParameter) -> Self {
8107         ::std::convert::From::from(::std::clone::Clone::clone(value))
8108     }
8109 }
8110 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionEffectSourceParameter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8111     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8112         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8113     }
8114 }
8115 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionEffectSourceParameter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8116     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8117         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8118     }
8119 }
8120 impl ::std::convert::From<CompositionEffectSourceParameter> for ::windows::runtime::IInspectable {
from(value: CompositionEffectSourceParameter) -> Self8121     fn from(value: CompositionEffectSourceParameter) -> Self {
8122         value.0
8123     }
8124 }
8125 impl ::std::convert::From<&CompositionEffectSourceParameter> for ::windows::runtime::IInspectable {
from(value: &CompositionEffectSourceParameter) -> Self8126     fn from(value: &CompositionEffectSourceParameter) -> Self {
8127         value.0.clone()
8128     }
8129 }
8130 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionEffectSourceParameter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8131     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8132         ::windows::runtime::Param::Owned(self.0)
8133     }
8134 }
8135 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionEffectSourceParameter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8136     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8137         ::windows::runtime::Param::Borrowed(&self.0)
8138     }
8139 }
8140 #[cfg(feature = "Graphics_Effects")]
8141 impl ::std::convert::TryFrom<CompositionEffectSourceParameter> for super::super::Graphics::Effects::IGraphicsEffectSource {
8142     type Error = ::windows::runtime::Error;
try_from(value: CompositionEffectSourceParameter) -> ::windows::runtime::Result<Self>8143     fn try_from(value: CompositionEffectSourceParameter) -> ::windows::runtime::Result<Self> {
8144         ::std::convert::TryFrom::try_from(&value)
8145     }
8146 }
8147 #[cfg(feature = "Graphics_Effects")]
8148 impl ::std::convert::TryFrom<&CompositionEffectSourceParameter> for super::super::Graphics::Effects::IGraphicsEffectSource {
8149     type Error = ::windows::runtime::Error;
try_from(value: &CompositionEffectSourceParameter) -> ::windows::runtime::Result<Self>8150     fn try_from(value: &CompositionEffectSourceParameter) -> ::windows::runtime::Result<Self> {
8151         ::windows::runtime::Interface::cast(value)
8152     }
8153 }
8154 #[cfg(feature = "Graphics_Effects")]
8155 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Graphics::Effects::IGraphicsEffectSource> for CompositionEffectSourceParameter {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Graphics::Effects::IGraphicsEffectSource>8156     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Graphics::Effects::IGraphicsEffectSource> {
8157         ::windows::runtime::IntoParam::into_param(&self)
8158     }
8159 }
8160 #[cfg(feature = "Graphics_Effects")]
8161 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Graphics::Effects::IGraphicsEffectSource> for &CompositionEffectSourceParameter {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Graphics::Effects::IGraphicsEffectSource>8162     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Graphics::Effects::IGraphicsEffectSource> {
8163         ::std::convert::TryInto::<super::super::Graphics::Effects::IGraphicsEffectSource>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
8164     }
8165 }
8166 unsafe impl ::std::marker::Send for CompositionEffectSourceParameter {}
8167 unsafe impl ::std::marker::Sync for CompositionEffectSourceParameter {}
8168 #[repr(transparent)]
8169 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8170 pub struct CompositionEllipseGeometry(::windows::runtime::IInspectable);
8171 impl CompositionEllipseGeometry {
8172     #[cfg(feature = "Foundation_Numerics")]
Center(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>8173     pub fn Center(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
8174         let this = self;
8175         unsafe {
8176             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
8177             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
8178         }
8179     }
8180     #[cfg(feature = "Foundation_Numerics")]
SetCenter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>8181     pub fn SetCenter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8182         let this = self;
8183         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8184     }
8185     #[cfg(feature = "Foundation_Numerics")]
Radius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>8186     pub fn Radius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
8187         let this = self;
8188         unsafe {
8189             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
8190             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
8191         }
8192     }
8193     #[cfg(feature = "Foundation_Numerics")]
SetRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>8194     pub fn SetRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8195         let this = self;
8196         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8197     }
8198     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>8199     pub fn Close(&self) -> ::windows::runtime::Result<()> {
8200         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
8201         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
8202     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>8203     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
8204         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8205         unsafe {
8206             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8207             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
8208         }
8209     }
8210     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>8211     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
8212         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8213         unsafe {
8214             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8215             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
8216         }
8217     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>8218     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
8219         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8220         unsafe {
8221             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8222             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
8223         }
8224     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>8225     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
8226         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8227         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
8228     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>8229     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
8230         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8231         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
8232     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8233     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8234         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8235         unsafe {
8236             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8237             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8238         }
8239     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>8240     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8241         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8242         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8243     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>8244     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
8245         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8246         unsafe {
8247             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8248             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
8249         }
8250     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>8251     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8252         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8253         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8254     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>8255     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8256         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8257         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8258     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>8259     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8260         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8261         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8262     }
8263     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>8264     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
8265         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
8266         unsafe {
8267             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8268             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
8269         }
8270     }
TrimEnd(&self) -> ::windows::runtime::Result<f32>8271     pub fn TrimEnd(&self) -> ::windows::runtime::Result<f32> {
8272         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
8273         unsafe {
8274             let mut result__: f32 = ::std::mem::zeroed();
8275             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
8276         }
8277     }
SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()>8278     pub fn SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()> {
8279         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
8280         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
8281     }
TrimOffset(&self) -> ::windows::runtime::Result<f32>8282     pub fn TrimOffset(&self) -> ::windows::runtime::Result<f32> {
8283         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
8284         unsafe {
8285             let mut result__: f32 = ::std::mem::zeroed();
8286             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
8287         }
8288     }
SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()>8289     pub fn SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()> {
8290         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
8291         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
8292     }
TrimStart(&self) -> ::windows::runtime::Result<f32>8293     pub fn TrimStart(&self) -> ::windows::runtime::Result<f32> {
8294         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
8295         unsafe {
8296             let mut result__: f32 = ::std::mem::zeroed();
8297             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
8298         }
8299     }
SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()>8300     pub fn SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()> {
8301         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
8302         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
8303     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>8304     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
8305         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
8306         unsafe {
8307             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8308             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
8309         }
8310     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>8311     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
8312         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
8313         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
8314     }
8315 }
8316 unsafe impl ::windows::runtime::RuntimeType for CompositionEllipseGeometry {
8317     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionEllipseGeometry;{4801f884-f6ad-4b93-afa9-897b64e57b1f})");
8318 }
8319 unsafe impl ::windows::runtime::Interface for CompositionEllipseGeometry {
8320     type Vtable = ICompositionEllipseGeometry_abi;
8321     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1208088708, 63149, 19347, [175, 169, 137, 123, 100, 229, 123, 31]);
8322 }
8323 impl ::windows::runtime::RuntimeName for CompositionEllipseGeometry {
8324     const NAME: &'static str = "Windows.UI.Composition.CompositionEllipseGeometry";
8325 }
8326 impl ::std::convert::From<CompositionEllipseGeometry> for ::windows::runtime::IUnknown {
from(value: CompositionEllipseGeometry) -> Self8327     fn from(value: CompositionEllipseGeometry) -> Self {
8328         unsafe { ::std::mem::transmute(value) }
8329     }
8330 }
8331 impl ::std::convert::From<&CompositionEllipseGeometry> for ::windows::runtime::IUnknown {
from(value: &CompositionEllipseGeometry) -> Self8332     fn from(value: &CompositionEllipseGeometry) -> Self {
8333         ::std::convert::From::from(::std::clone::Clone::clone(value))
8334     }
8335 }
8336 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8337     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8338         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8339     }
8340 }
8341 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8342     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8343         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8344     }
8345 }
8346 impl ::std::convert::From<CompositionEllipseGeometry> for ::windows::runtime::IInspectable {
from(value: CompositionEllipseGeometry) -> Self8347     fn from(value: CompositionEllipseGeometry) -> Self {
8348         value.0
8349     }
8350 }
8351 impl ::std::convert::From<&CompositionEllipseGeometry> for ::windows::runtime::IInspectable {
from(value: &CompositionEllipseGeometry) -> Self8352     fn from(value: &CompositionEllipseGeometry) -> Self {
8353         value.0.clone()
8354     }
8355 }
8356 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8357     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8358         ::windows::runtime::Param::Owned(self.0)
8359     }
8360 }
8361 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8362     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8363         ::windows::runtime::Param::Borrowed(&self.0)
8364     }
8365 }
8366 #[cfg(feature = "Foundation")]
8367 impl ::std::convert::TryFrom<CompositionEllipseGeometry> for super::super::Foundation::IClosable {
8368     type Error = ::windows::runtime::Error;
try_from(value: CompositionEllipseGeometry) -> ::windows::runtime::Result<Self>8369     fn try_from(value: CompositionEllipseGeometry) -> ::windows::runtime::Result<Self> {
8370         ::std::convert::TryFrom::try_from(&value)
8371     }
8372 }
8373 #[cfg(feature = "Foundation")]
8374 impl ::std::convert::TryFrom<&CompositionEllipseGeometry> for super::super::Foundation::IClosable {
8375     type Error = ::windows::runtime::Error;
try_from(value: &CompositionEllipseGeometry) -> ::windows::runtime::Result<Self>8376     fn try_from(value: &CompositionEllipseGeometry) -> ::windows::runtime::Result<Self> {
8377         ::windows::runtime::Interface::cast(value)
8378     }
8379 }
8380 #[cfg(feature = "Foundation")]
8381 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>8382     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
8383         ::windows::runtime::IntoParam::into_param(&self)
8384     }
8385 }
8386 #[cfg(feature = "Foundation")]
8387 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>8388     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
8389         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
8390     }
8391 }
8392 impl ::std::convert::TryFrom<CompositionEllipseGeometry> for IAnimationObject {
8393     type Error = ::windows::runtime::Error;
try_from(value: CompositionEllipseGeometry) -> ::windows::runtime::Result<Self>8394     fn try_from(value: CompositionEllipseGeometry) -> ::windows::runtime::Result<Self> {
8395         ::std::convert::TryFrom::try_from(&value)
8396     }
8397 }
8398 impl ::std::convert::TryFrom<&CompositionEllipseGeometry> for IAnimationObject {
8399     type Error = ::windows::runtime::Error;
try_from(value: &CompositionEllipseGeometry) -> ::windows::runtime::Result<Self>8400     fn try_from(value: &CompositionEllipseGeometry) -> ::windows::runtime::Result<Self> {
8401         ::windows::runtime::Interface::cast(value)
8402     }
8403 }
8404 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>8405     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
8406         ::windows::runtime::IntoParam::into_param(&self)
8407     }
8408 }
8409 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>8410     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
8411         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
8412     }
8413 }
8414 impl ::std::convert::From<CompositionEllipseGeometry> for CompositionGeometry {
from(value: CompositionEllipseGeometry) -> Self8415     fn from(value: CompositionEllipseGeometry) -> Self {
8416         ::std::convert::Into::<CompositionGeometry>::into(&value)
8417     }
8418 }
8419 impl ::std::convert::From<&CompositionEllipseGeometry> for CompositionGeometry {
from(value: &CompositionEllipseGeometry) -> Self8420     fn from(value: &CompositionEllipseGeometry) -> Self {
8421         ::windows::runtime::Interface::cast(value).unwrap()
8422     }
8423 }
8424 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>8425     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
8426         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(self))
8427     }
8428 }
8429 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for &CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>8430     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
8431         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(::std::clone::Clone::clone(self)))
8432     }
8433 }
8434 impl ::std::convert::From<CompositionEllipseGeometry> for CompositionObject {
from(value: CompositionEllipseGeometry) -> Self8435     fn from(value: CompositionEllipseGeometry) -> Self {
8436         ::std::convert::Into::<CompositionObject>::into(&value)
8437     }
8438 }
8439 impl ::std::convert::From<&CompositionEllipseGeometry> for CompositionObject {
from(value: &CompositionEllipseGeometry) -> Self8440     fn from(value: &CompositionEllipseGeometry) -> Self {
8441         ::windows::runtime::Interface::cast(value).unwrap()
8442     }
8443 }
8444 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>8445     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
8446         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
8447     }
8448 }
8449 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionEllipseGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>8450     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
8451         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
8452     }
8453 }
8454 unsafe impl ::std::marker::Send for CompositionEllipseGeometry {}
8455 unsafe impl ::std::marker::Sync for CompositionEllipseGeometry {}
8456 #[repr(transparent)]
8457 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8458 pub struct CompositionGeometricClip(::windows::runtime::IInspectable);
8459 impl CompositionGeometricClip {
Geometry(&self) -> ::windows::runtime::Result<CompositionGeometry>8460     pub fn Geometry(&self) -> ::windows::runtime::Result<CompositionGeometry> {
8461         let this = self;
8462         unsafe {
8463             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8464             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionGeometry>(result__)
8465         }
8466     }
SetGeometry<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionGeometry>>(&self, value: Param0) -> ::windows::runtime::Result<()>8467     pub fn SetGeometry<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionGeometry>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8468         let this = self;
8469         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8470     }
ViewBox(&self) -> ::windows::runtime::Result<CompositionViewBox>8471     pub fn ViewBox(&self) -> ::windows::runtime::Result<CompositionViewBox> {
8472         let this = self;
8473         unsafe {
8474             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8475             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionViewBox>(result__)
8476         }
8477     }
SetViewBox<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionViewBox>>(&self, value: Param0) -> ::windows::runtime::Result<()>8478     pub fn SetViewBox<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionViewBox>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8479         let this = self;
8480         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8481     }
8482     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>8483     pub fn Close(&self) -> ::windows::runtime::Result<()> {
8484         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
8485         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
8486     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>8487     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
8488         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8489         unsafe {
8490             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8491             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
8492         }
8493     }
8494     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>8495     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
8496         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8497         unsafe {
8498             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8499             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
8500         }
8501     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>8502     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
8503         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8504         unsafe {
8505             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8506             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
8507         }
8508     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>8509     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
8510         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8511         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
8512     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>8513     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
8514         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8515         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
8516     }
8517     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>8518     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
8519         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8520         unsafe {
8521             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
8522             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
8523         }
8524     }
8525     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>8526     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8527         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8528         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8529     }
8530     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>8531     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
8532         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8533         unsafe {
8534             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
8535             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
8536         }
8537     }
8538     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>8539     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8540         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8541         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8542     }
8543     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>8544     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
8545         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8546         unsafe {
8547             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
8548             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
8549         }
8550     }
8551     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>8552     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8553         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8554         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8555     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>8556     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
8557         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8558         unsafe {
8559             let mut result__: f32 = ::std::mem::zeroed();
8560             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
8561         }
8562     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>8563     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
8564         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8565         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
8566     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>8567     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
8568         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8569         unsafe {
8570             let mut result__: f32 = ::std::mem::zeroed();
8571             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
8572         }
8573     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>8574     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
8575         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8576         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
8577     }
8578     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>8579     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
8580         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8581         unsafe {
8582             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
8583             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
8584         }
8585     }
8586     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>8587     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8588         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8589         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8590     }
8591     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>8592     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
8593         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8594         unsafe {
8595             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
8596             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
8597         }
8598     }
8599     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>8600     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8601         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
8602         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8603     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8604     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8605         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8606         unsafe {
8607             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8608             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8609         }
8610     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>8611     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8612         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8613         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8614     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>8615     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
8616         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8617         unsafe {
8618             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8619             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
8620         }
8621     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>8622     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8623         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8624         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8625     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>8626     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8627         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8628         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8629     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>8630     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8631         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8632         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8633     }
8634     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>8635     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
8636         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
8637         unsafe {
8638             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8639             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
8640         }
8641     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>8642     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
8643         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
8644         unsafe {
8645             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8646             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
8647         }
8648     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>8649     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
8650         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
8651         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
8652     }
8653 }
8654 unsafe impl ::windows::runtime::RuntimeType for CompositionGeometricClip {
8655     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionGeometricClip;{c840b581-81c9-4444-a2c1-ccaece3a50e5})");
8656 }
8657 unsafe impl ::windows::runtime::Interface for CompositionGeometricClip {
8658     type Vtable = ICompositionGeometricClip_abi;
8659     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3359683969, 33225, 17476, [162, 193, 204, 174, 206, 58, 80, 229]);
8660 }
8661 impl ::windows::runtime::RuntimeName for CompositionGeometricClip {
8662     const NAME: &'static str = "Windows.UI.Composition.CompositionGeometricClip";
8663 }
8664 impl ::std::convert::From<CompositionGeometricClip> for ::windows::runtime::IUnknown {
from(value: CompositionGeometricClip) -> Self8665     fn from(value: CompositionGeometricClip) -> Self {
8666         unsafe { ::std::mem::transmute(value) }
8667     }
8668 }
8669 impl ::std::convert::From<&CompositionGeometricClip> for ::windows::runtime::IUnknown {
from(value: &CompositionGeometricClip) -> Self8670     fn from(value: &CompositionGeometricClip) -> Self {
8671         ::std::convert::From::from(::std::clone::Clone::clone(value))
8672     }
8673 }
8674 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8675     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8676         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8677     }
8678 }
8679 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8680     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8681         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8682     }
8683 }
8684 impl ::std::convert::From<CompositionGeometricClip> for ::windows::runtime::IInspectable {
from(value: CompositionGeometricClip) -> Self8685     fn from(value: CompositionGeometricClip) -> Self {
8686         value.0
8687     }
8688 }
8689 impl ::std::convert::From<&CompositionGeometricClip> for ::windows::runtime::IInspectable {
from(value: &CompositionGeometricClip) -> Self8690     fn from(value: &CompositionGeometricClip) -> Self {
8691         value.0.clone()
8692     }
8693 }
8694 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8695     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8696         ::windows::runtime::Param::Owned(self.0)
8697     }
8698 }
8699 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8700     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8701         ::windows::runtime::Param::Borrowed(&self.0)
8702     }
8703 }
8704 #[cfg(feature = "Foundation")]
8705 impl ::std::convert::TryFrom<CompositionGeometricClip> for super::super::Foundation::IClosable {
8706     type Error = ::windows::runtime::Error;
try_from(value: CompositionGeometricClip) -> ::windows::runtime::Result<Self>8707     fn try_from(value: CompositionGeometricClip) -> ::windows::runtime::Result<Self> {
8708         ::std::convert::TryFrom::try_from(&value)
8709     }
8710 }
8711 #[cfg(feature = "Foundation")]
8712 impl ::std::convert::TryFrom<&CompositionGeometricClip> for super::super::Foundation::IClosable {
8713     type Error = ::windows::runtime::Error;
try_from(value: &CompositionGeometricClip) -> ::windows::runtime::Result<Self>8714     fn try_from(value: &CompositionGeometricClip) -> ::windows::runtime::Result<Self> {
8715         ::windows::runtime::Interface::cast(value)
8716     }
8717 }
8718 #[cfg(feature = "Foundation")]
8719 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>8720     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
8721         ::windows::runtime::IntoParam::into_param(&self)
8722     }
8723 }
8724 #[cfg(feature = "Foundation")]
8725 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>8726     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
8727         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
8728     }
8729 }
8730 impl ::std::convert::TryFrom<CompositionGeometricClip> for IAnimationObject {
8731     type Error = ::windows::runtime::Error;
try_from(value: CompositionGeometricClip) -> ::windows::runtime::Result<Self>8732     fn try_from(value: CompositionGeometricClip) -> ::windows::runtime::Result<Self> {
8733         ::std::convert::TryFrom::try_from(&value)
8734     }
8735 }
8736 impl ::std::convert::TryFrom<&CompositionGeometricClip> for IAnimationObject {
8737     type Error = ::windows::runtime::Error;
try_from(value: &CompositionGeometricClip) -> ::windows::runtime::Result<Self>8738     fn try_from(value: &CompositionGeometricClip) -> ::windows::runtime::Result<Self> {
8739         ::windows::runtime::Interface::cast(value)
8740     }
8741 }
8742 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>8743     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
8744         ::windows::runtime::IntoParam::into_param(&self)
8745     }
8746 }
8747 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>8748     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
8749         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
8750     }
8751 }
8752 impl ::std::convert::From<CompositionGeometricClip> for CompositionClip {
from(value: CompositionGeometricClip) -> Self8753     fn from(value: CompositionGeometricClip) -> Self {
8754         ::std::convert::Into::<CompositionClip>::into(&value)
8755     }
8756 }
8757 impl ::std::convert::From<&CompositionGeometricClip> for CompositionClip {
from(value: &CompositionGeometricClip) -> Self8758     fn from(value: &CompositionGeometricClip) -> Self {
8759         ::windows::runtime::Interface::cast(value).unwrap()
8760     }
8761 }
8762 impl<'a> ::windows::runtime::IntoParam<'a, CompositionClip> for CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionClip>8763     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionClip> {
8764         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionClip>::into(self))
8765     }
8766 }
8767 impl<'a> ::windows::runtime::IntoParam<'a, CompositionClip> for &CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionClip>8768     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionClip> {
8769         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionClip>::into(::std::clone::Clone::clone(self)))
8770     }
8771 }
8772 impl ::std::convert::From<CompositionGeometricClip> for CompositionObject {
from(value: CompositionGeometricClip) -> Self8773     fn from(value: CompositionGeometricClip) -> Self {
8774         ::std::convert::Into::<CompositionObject>::into(&value)
8775     }
8776 }
8777 impl ::std::convert::From<&CompositionGeometricClip> for CompositionObject {
from(value: &CompositionGeometricClip) -> Self8778     fn from(value: &CompositionGeometricClip) -> Self {
8779         ::windows::runtime::Interface::cast(value).unwrap()
8780     }
8781 }
8782 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>8783     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
8784         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
8785     }
8786 }
8787 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionGeometricClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>8788     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
8789         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
8790     }
8791 }
8792 unsafe impl ::std::marker::Send for CompositionGeometricClip {}
8793 unsafe impl ::std::marker::Sync for CompositionGeometricClip {}
8794 #[repr(transparent)]
8795 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8796 pub struct CompositionGeometry(::windows::runtime::IInspectable);
8797 impl CompositionGeometry {
TrimEnd(&self) -> ::windows::runtime::Result<f32>8798     pub fn TrimEnd(&self) -> ::windows::runtime::Result<f32> {
8799         let this = self;
8800         unsafe {
8801             let mut result__: f32 = ::std::mem::zeroed();
8802             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
8803         }
8804     }
SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()>8805     pub fn SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()> {
8806         let this = self;
8807         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
8808     }
TrimOffset(&self) -> ::windows::runtime::Result<f32>8809     pub fn TrimOffset(&self) -> ::windows::runtime::Result<f32> {
8810         let this = self;
8811         unsafe {
8812             let mut result__: f32 = ::std::mem::zeroed();
8813             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
8814         }
8815     }
SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()>8816     pub fn SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()> {
8817         let this = self;
8818         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
8819     }
TrimStart(&self) -> ::windows::runtime::Result<f32>8820     pub fn TrimStart(&self) -> ::windows::runtime::Result<f32> {
8821         let this = self;
8822         unsafe {
8823             let mut result__: f32 = ::std::mem::zeroed();
8824             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
8825         }
8826     }
SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()>8827     pub fn SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()> {
8828         let this = self;
8829         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
8830     }
8831     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>8832     pub fn Close(&self) -> ::windows::runtime::Result<()> {
8833         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
8834         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
8835     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>8836     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
8837         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8838         unsafe {
8839             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8840             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
8841         }
8842     }
8843     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>8844     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
8845         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8846         unsafe {
8847             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8848             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
8849         }
8850     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>8851     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
8852         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8853         unsafe {
8854             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8855             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
8856         }
8857     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>8858     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
8859         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8860         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
8861     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>8862     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
8863         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
8864         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
8865     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8866     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8867         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8868         unsafe {
8869             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8870             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8871         }
8872     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>8873     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8874         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8875         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8876     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>8877     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
8878         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8879         unsafe {
8880             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8881             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
8882         }
8883     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>8884     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8885         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8886         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8887     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>8888     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8889         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8890         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8891     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>8892     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
8893         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
8894         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
8895     }
8896     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>8897     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
8898         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
8899         unsafe {
8900             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8901             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
8902         }
8903     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>8904     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
8905         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
8906         unsafe {
8907             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8908             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
8909         }
8910     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>8911     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
8912         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
8913         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
8914     }
8915 }
8916 unsafe impl ::windows::runtime::RuntimeType for CompositionGeometry {
8917     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionGeometry;{e985217c-6a17-4207-abd8-5fd3dd612a9d})");
8918 }
8919 unsafe impl ::windows::runtime::Interface for CompositionGeometry {
8920     type Vtable = ICompositionGeometry_abi;
8921     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3917816188, 27159, 16903, [171, 216, 95, 211, 221, 97, 42, 157]);
8922 }
8923 impl ::windows::runtime::RuntimeName for CompositionGeometry {
8924     const NAME: &'static str = "Windows.UI.Composition.CompositionGeometry";
8925 }
8926 impl ::std::convert::From<CompositionGeometry> for ::windows::runtime::IUnknown {
from(value: CompositionGeometry) -> Self8927     fn from(value: CompositionGeometry) -> Self {
8928         unsafe { ::std::mem::transmute(value) }
8929     }
8930 }
8931 impl ::std::convert::From<&CompositionGeometry> for ::windows::runtime::IUnknown {
from(value: &CompositionGeometry) -> Self8932     fn from(value: &CompositionGeometry) -> Self {
8933         ::std::convert::From::from(::std::clone::Clone::clone(value))
8934     }
8935 }
8936 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8937     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8938         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8939     }
8940 }
8941 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8942     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8943         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8944     }
8945 }
8946 impl ::std::convert::From<CompositionGeometry> for ::windows::runtime::IInspectable {
from(value: CompositionGeometry) -> Self8947     fn from(value: CompositionGeometry) -> Self {
8948         value.0
8949     }
8950 }
8951 impl ::std::convert::From<&CompositionGeometry> for ::windows::runtime::IInspectable {
from(value: &CompositionGeometry) -> Self8952     fn from(value: &CompositionGeometry) -> Self {
8953         value.0.clone()
8954     }
8955 }
8956 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8957     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8958         ::windows::runtime::Param::Owned(self.0)
8959     }
8960 }
8961 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8962     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8963         ::windows::runtime::Param::Borrowed(&self.0)
8964     }
8965 }
8966 #[cfg(feature = "Foundation")]
8967 impl ::std::convert::TryFrom<CompositionGeometry> for super::super::Foundation::IClosable {
8968     type Error = ::windows::runtime::Error;
try_from(value: CompositionGeometry) -> ::windows::runtime::Result<Self>8969     fn try_from(value: CompositionGeometry) -> ::windows::runtime::Result<Self> {
8970         ::std::convert::TryFrom::try_from(&value)
8971     }
8972 }
8973 #[cfg(feature = "Foundation")]
8974 impl ::std::convert::TryFrom<&CompositionGeometry> for super::super::Foundation::IClosable {
8975     type Error = ::windows::runtime::Error;
try_from(value: &CompositionGeometry) -> ::windows::runtime::Result<Self>8976     fn try_from(value: &CompositionGeometry) -> ::windows::runtime::Result<Self> {
8977         ::windows::runtime::Interface::cast(value)
8978     }
8979 }
8980 #[cfg(feature = "Foundation")]
8981 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>8982     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
8983         ::windows::runtime::IntoParam::into_param(&self)
8984     }
8985 }
8986 #[cfg(feature = "Foundation")]
8987 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>8988     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
8989         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
8990     }
8991 }
8992 impl ::std::convert::TryFrom<CompositionGeometry> for IAnimationObject {
8993     type Error = ::windows::runtime::Error;
try_from(value: CompositionGeometry) -> ::windows::runtime::Result<Self>8994     fn try_from(value: CompositionGeometry) -> ::windows::runtime::Result<Self> {
8995         ::std::convert::TryFrom::try_from(&value)
8996     }
8997 }
8998 impl ::std::convert::TryFrom<&CompositionGeometry> for IAnimationObject {
8999     type Error = ::windows::runtime::Error;
try_from(value: &CompositionGeometry) -> ::windows::runtime::Result<Self>9000     fn try_from(value: &CompositionGeometry) -> ::windows::runtime::Result<Self> {
9001         ::windows::runtime::Interface::cast(value)
9002     }
9003 }
9004 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>9005     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
9006         ::windows::runtime::IntoParam::into_param(&self)
9007     }
9008 }
9009 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>9010     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
9011         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
9012     }
9013 }
9014 impl ::std::convert::From<CompositionGeometry> for CompositionObject {
from(value: CompositionGeometry) -> Self9015     fn from(value: CompositionGeometry) -> Self {
9016         ::std::convert::Into::<CompositionObject>::into(&value)
9017     }
9018 }
9019 impl ::std::convert::From<&CompositionGeometry> for CompositionObject {
from(value: &CompositionGeometry) -> Self9020     fn from(value: &CompositionGeometry) -> Self {
9021         ::windows::runtime::Interface::cast(value).unwrap()
9022     }
9023 }
9024 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>9025     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
9026         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
9027     }
9028 }
9029 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>9030     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
9031         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
9032     }
9033 }
9034 unsafe impl ::std::marker::Send for CompositionGeometry {}
9035 unsafe impl ::std::marker::Sync for CompositionGeometry {}
9036 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9037 #[repr(transparent)]
9038 pub struct CompositionGetValueStatus(pub i32);
9039 impl CompositionGetValueStatus {
9040     pub const Succeeded: CompositionGetValueStatus = CompositionGetValueStatus(0i32);
9041     pub const TypeMismatch: CompositionGetValueStatus = CompositionGetValueStatus(1i32);
9042     pub const NotFound: CompositionGetValueStatus = CompositionGetValueStatus(2i32);
9043 }
9044 impl ::std::convert::From<i32> for CompositionGetValueStatus {
from(value: i32) -> Self9045     fn from(value: i32) -> Self {
9046         Self(value)
9047     }
9048 }
9049 unsafe impl ::windows::runtime::Abi for CompositionGetValueStatus {
9050     type Abi = Self;
9051     type DefaultType = Self;
9052 }
9053 unsafe impl ::windows::runtime::RuntimeType for CompositionGetValueStatus {
9054     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionGetValueStatus;i4)");
9055 }
9056 #[repr(transparent)]
9057 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9058 pub struct CompositionGradientBrush(::windows::runtime::IInspectable);
9059 impl CompositionGradientBrush {
9060     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>9061     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
9062         let this = self;
9063         unsafe {
9064             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
9065             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
9066         }
9067     }
9068     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>9069     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9070         let this = self;
9071         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9072     }
9073     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>9074     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
9075         let this = self;
9076         unsafe {
9077             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
9078             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
9079         }
9080     }
9081     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>9082     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9083         let this = self;
9084         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9085     }
ColorStops(&self) -> ::windows::runtime::Result<CompositionColorGradientStopCollection>9086     pub fn ColorStops(&self) -> ::windows::runtime::Result<CompositionColorGradientStopCollection> {
9087         let this = self;
9088         unsafe {
9089             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9090             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionColorGradientStopCollection>(result__)
9091         }
9092     }
ExtendMode(&self) -> ::windows::runtime::Result<CompositionGradientExtendMode>9093     pub fn ExtendMode(&self) -> ::windows::runtime::Result<CompositionGradientExtendMode> {
9094         let this = self;
9095         unsafe {
9096             let mut result__: CompositionGradientExtendMode = ::std::mem::zeroed();
9097             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionGradientExtendMode>(result__)
9098         }
9099     }
SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows::runtime::Result<()>9100     pub fn SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows::runtime::Result<()> {
9101         let this = self;
9102         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() }
9103     }
InterpolationSpace(&self) -> ::windows::runtime::Result<CompositionColorSpace>9104     pub fn InterpolationSpace(&self) -> ::windows::runtime::Result<CompositionColorSpace> {
9105         let this = self;
9106         unsafe {
9107             let mut result__: CompositionColorSpace = ::std::mem::zeroed();
9108             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionColorSpace>(result__)
9109         }
9110     }
SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows::runtime::Result<()>9111     pub fn SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows::runtime::Result<()> {
9112         let this = self;
9113         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value).ok() }
9114     }
9115     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>9116     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
9117         let this = self;
9118         unsafe {
9119             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
9120             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
9121         }
9122     }
9123     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>9124     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9125         let this = self;
9126         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9127     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>9128     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
9129         let this = self;
9130         unsafe {
9131             let mut result__: f32 = ::std::mem::zeroed();
9132             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
9133         }
9134     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>9135     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
9136         let this = self;
9137         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value).ok() }
9138     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>9139     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
9140         let this = self;
9141         unsafe {
9142             let mut result__: f32 = ::std::mem::zeroed();
9143             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
9144         }
9145     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>9146     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
9147         let this = self;
9148         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value).ok() }
9149     }
9150     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>9151     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
9152         let this = self;
9153         unsafe {
9154             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
9155             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
9156         }
9157     }
9158     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>9159     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9160         let this = self;
9161         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9162     }
9163     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>9164     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
9165         let this = self;
9166         unsafe {
9167             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
9168             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
9169         }
9170     }
9171     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>9172     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9173         let this = self;
9174         unsafe { (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9175     }
MappingMode(&self) -> ::windows::runtime::Result<CompositionMappingMode>9176     pub fn MappingMode(&self) -> ::windows::runtime::Result<CompositionMappingMode> {
9177         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush2>(self)?;
9178         unsafe {
9179             let mut result__: CompositionMappingMode = ::std::mem::zeroed();
9180             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionMappingMode>(result__)
9181         }
9182     }
SetMappingMode(&self, value: CompositionMappingMode) -> ::windows::runtime::Result<()>9183     pub fn SetMappingMode(&self, value: CompositionMappingMode) -> ::windows::runtime::Result<()> {
9184         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush2>(self)?;
9185         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
9186     }
9187     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>9188     pub fn Close(&self) -> ::windows::runtime::Result<()> {
9189         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
9190         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
9191     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>9192     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
9193         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9194         unsafe {
9195             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9196             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
9197         }
9198     }
9199     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>9200     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
9201         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9202         unsafe {
9203             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9204             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
9205         }
9206     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>9207     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
9208         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9209         unsafe {
9210             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9211             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
9212         }
9213     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>9214     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
9215         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9216         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
9217     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>9218     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
9219         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9220         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
9221     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9222     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9223         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9224         unsafe {
9225             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9226             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9227         }
9228     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>9229     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9230         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9231         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9232     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>9233     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
9234         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9235         unsafe {
9236             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9237             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
9238         }
9239     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>9240     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9241         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9242         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9243     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>9244     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9245         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9246         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9247     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>9248     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9249         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9250         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9251     }
9252     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>9253     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
9254         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
9255         unsafe {
9256             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9257             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
9258         }
9259     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>9260     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
9261         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
9262         unsafe {
9263             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9264             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
9265         }
9266     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>9267     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
9268         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
9269         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
9270     }
9271 }
9272 unsafe impl ::windows::runtime::RuntimeType for CompositionGradientBrush {
9273     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionGradientBrush;{1d9709e0-ffc6-4c0e-a9ab-34144d4c9098})");
9274 }
9275 unsafe impl ::windows::runtime::Interface for CompositionGradientBrush {
9276     type Vtable = ICompositionGradientBrush_abi;
9277     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(496437728, 65478, 19470, [169, 171, 52, 20, 77, 76, 144, 152]);
9278 }
9279 impl ::windows::runtime::RuntimeName for CompositionGradientBrush {
9280     const NAME: &'static str = "Windows.UI.Composition.CompositionGradientBrush";
9281 }
9282 impl ::std::convert::From<CompositionGradientBrush> for ::windows::runtime::IUnknown {
from(value: CompositionGradientBrush) -> Self9283     fn from(value: CompositionGradientBrush) -> Self {
9284         unsafe { ::std::mem::transmute(value) }
9285     }
9286 }
9287 impl ::std::convert::From<&CompositionGradientBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionGradientBrush) -> Self9288     fn from(value: &CompositionGradientBrush) -> Self {
9289         ::std::convert::From::from(::std::clone::Clone::clone(value))
9290     }
9291 }
9292 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9293     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9294         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9295     }
9296 }
9297 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9298     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9299         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9300     }
9301 }
9302 impl ::std::convert::From<CompositionGradientBrush> for ::windows::runtime::IInspectable {
from(value: CompositionGradientBrush) -> Self9303     fn from(value: CompositionGradientBrush) -> Self {
9304         value.0
9305     }
9306 }
9307 impl ::std::convert::From<&CompositionGradientBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionGradientBrush) -> Self9308     fn from(value: &CompositionGradientBrush) -> Self {
9309         value.0.clone()
9310     }
9311 }
9312 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9313     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9314         ::windows::runtime::Param::Owned(self.0)
9315     }
9316 }
9317 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9318     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9319         ::windows::runtime::Param::Borrowed(&self.0)
9320     }
9321 }
9322 #[cfg(feature = "Foundation")]
9323 impl ::std::convert::TryFrom<CompositionGradientBrush> for super::super::Foundation::IClosable {
9324     type Error = ::windows::runtime::Error;
try_from(value: CompositionGradientBrush) -> ::windows::runtime::Result<Self>9325     fn try_from(value: CompositionGradientBrush) -> ::windows::runtime::Result<Self> {
9326         ::std::convert::TryFrom::try_from(&value)
9327     }
9328 }
9329 #[cfg(feature = "Foundation")]
9330 impl ::std::convert::TryFrom<&CompositionGradientBrush> for super::super::Foundation::IClosable {
9331     type Error = ::windows::runtime::Error;
try_from(value: &CompositionGradientBrush) -> ::windows::runtime::Result<Self>9332     fn try_from(value: &CompositionGradientBrush) -> ::windows::runtime::Result<Self> {
9333         ::windows::runtime::Interface::cast(value)
9334     }
9335 }
9336 #[cfg(feature = "Foundation")]
9337 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>9338     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
9339         ::windows::runtime::IntoParam::into_param(&self)
9340     }
9341 }
9342 #[cfg(feature = "Foundation")]
9343 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>9344     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
9345         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
9346     }
9347 }
9348 impl ::std::convert::TryFrom<CompositionGradientBrush> for IAnimationObject {
9349     type Error = ::windows::runtime::Error;
try_from(value: CompositionGradientBrush) -> ::windows::runtime::Result<Self>9350     fn try_from(value: CompositionGradientBrush) -> ::windows::runtime::Result<Self> {
9351         ::std::convert::TryFrom::try_from(&value)
9352     }
9353 }
9354 impl ::std::convert::TryFrom<&CompositionGradientBrush> for IAnimationObject {
9355     type Error = ::windows::runtime::Error;
try_from(value: &CompositionGradientBrush) -> ::windows::runtime::Result<Self>9356     fn try_from(value: &CompositionGradientBrush) -> ::windows::runtime::Result<Self> {
9357         ::windows::runtime::Interface::cast(value)
9358     }
9359 }
9360 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>9361     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
9362         ::windows::runtime::IntoParam::into_param(&self)
9363     }
9364 }
9365 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>9366     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
9367         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
9368     }
9369 }
9370 impl ::std::convert::From<CompositionGradientBrush> for CompositionBrush {
from(value: CompositionGradientBrush) -> Self9371     fn from(value: CompositionGradientBrush) -> Self {
9372         ::std::convert::Into::<CompositionBrush>::into(&value)
9373     }
9374 }
9375 impl ::std::convert::From<&CompositionGradientBrush> for CompositionBrush {
from(value: &CompositionGradientBrush) -> Self9376     fn from(value: &CompositionGradientBrush) -> Self {
9377         ::windows::runtime::Interface::cast(value).unwrap()
9378     }
9379 }
9380 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>9381     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
9382         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(self))
9383     }
9384 }
9385 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for &CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>9386     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
9387         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(::std::clone::Clone::clone(self)))
9388     }
9389 }
9390 impl ::std::convert::From<CompositionGradientBrush> for CompositionObject {
from(value: CompositionGradientBrush) -> Self9391     fn from(value: CompositionGradientBrush) -> Self {
9392         ::std::convert::Into::<CompositionObject>::into(&value)
9393     }
9394 }
9395 impl ::std::convert::From<&CompositionGradientBrush> for CompositionObject {
from(value: &CompositionGradientBrush) -> Self9396     fn from(value: &CompositionGradientBrush) -> Self {
9397         ::windows::runtime::Interface::cast(value).unwrap()
9398     }
9399 }
9400 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>9401     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
9402         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
9403     }
9404 }
9405 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>9406     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
9407         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
9408     }
9409 }
9410 unsafe impl ::std::marker::Send for CompositionGradientBrush {}
9411 unsafe impl ::std::marker::Sync for CompositionGradientBrush {}
9412 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9413 #[repr(transparent)]
9414 pub struct CompositionGradientExtendMode(pub i32);
9415 impl CompositionGradientExtendMode {
9416     pub const Clamp: CompositionGradientExtendMode = CompositionGradientExtendMode(0i32);
9417     pub const Wrap: CompositionGradientExtendMode = CompositionGradientExtendMode(1i32);
9418     pub const Mirror: CompositionGradientExtendMode = CompositionGradientExtendMode(2i32);
9419 }
9420 impl ::std::convert::From<i32> for CompositionGradientExtendMode {
from(value: i32) -> Self9421     fn from(value: i32) -> Self {
9422         Self(value)
9423     }
9424 }
9425 unsafe impl ::windows::runtime::Abi for CompositionGradientExtendMode {
9426     type Abi = Self;
9427     type DefaultType = Self;
9428 }
9429 unsafe impl ::windows::runtime::RuntimeType for CompositionGradientExtendMode {
9430     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionGradientExtendMode;i4)");
9431 }
9432 #[repr(transparent)]
9433 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9434 pub struct CompositionGraphicsDevice(::windows::runtime::IInspectable);
9435 impl CompositionGraphicsDevice {
9436     #[cfg(all(feature = "Foundation", feature = "Graphics_DirectX"))]
CreateDrawingSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(&self, sizepixels: Param0, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::Result<CompositionDrawingSurface>9437     pub fn CreateDrawingSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(&self, sizepixels: Param0, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::Result<CompositionDrawingSurface> {
9438         let this = self;
9439         unsafe {
9440             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9441             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), sizepixels.into_param().abi(), pixelformat, alphamode, &mut result__).from_abi::<CompositionDrawingSurface>(result__)
9442         }
9443     }
9444     #[cfg(feature = "Foundation")]
RenderingDeviceReplaced<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<CompositionGraphicsDevice, RenderingDeviceReplacedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>9445     pub fn RenderingDeviceReplaced<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<CompositionGraphicsDevice, RenderingDeviceReplacedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
9446         let this = self;
9447         unsafe {
9448             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
9449             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
9450         }
9451     }
9452     #[cfg(feature = "Foundation")]
RemoveRenderingDeviceReplaced<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>9453     pub fn RemoveRenderingDeviceReplaced<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
9454         let this = self;
9455         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
9456     }
9457     #[cfg(all(feature = "Graphics", feature = "Graphics_DirectX"))]
CreateDrawingSurface2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::Result<CompositionDrawingSurface>9458     pub fn CreateDrawingSurface2<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::Result<CompositionDrawingSurface> {
9459         let this = &::windows::runtime::Interface::cast::<ICompositionGraphicsDevice2>(self)?;
9460         unsafe {
9461             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9462             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), sizepixels.into_param().abi(), pixelformat, alphamode, &mut result__).from_abi::<CompositionDrawingSurface>(result__)
9463         }
9464     }
9465     #[cfg(all(feature = "Graphics", feature = "Graphics_DirectX"))]
CreateVirtualDrawingSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::Result<CompositionVirtualDrawingSurface>9466     pub fn CreateVirtualDrawingSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::Result<CompositionVirtualDrawingSurface> {
9467         let this = &::windows::runtime::Interface::cast::<ICompositionGraphicsDevice2>(self)?;
9468         unsafe {
9469             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9470             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), sizepixels.into_param().abi(), pixelformat, alphamode, &mut result__).from_abi::<CompositionVirtualDrawingSurface>(result__)
9471         }
9472     }
9473     #[cfg(all(feature = "Graphics", feature = "Graphics_DirectX"))]
CreateMipmapSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::Result<CompositionMipmapSurface>9474     pub fn CreateMipmapSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::Result<CompositionMipmapSurface> {
9475         let this = &::windows::runtime::Interface::cast::<ICompositionGraphicsDevice3>(self)?;
9476         unsafe {
9477             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9478             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), sizepixels.into_param().abi(), pixelformat, alphamode, &mut result__).from_abi::<CompositionMipmapSurface>(result__)
9479         }
9480     }
Trim(&self) -> ::windows::runtime::Result<()>9481     pub fn Trim(&self) -> ::windows::runtime::Result<()> {
9482         let this = &::windows::runtime::Interface::cast::<ICompositionGraphicsDevice3>(self)?;
9483         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
9484     }
9485     #[cfg(all(feature = "Foundation", feature = "Graphics", feature = "Graphics_DirectX"))]
CaptureAsync<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, capturevisual: Param0, size: Param1, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, sdrboost: f32) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ICompositionSurface>>9486     pub fn CaptureAsync<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, capturevisual: Param0, size: Param1, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, sdrboost: f32) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ICompositionSurface>> {
9487         let this = &::windows::runtime::Interface::cast::<ICompositionGraphicsDevice4>(self)?;
9488         unsafe {
9489             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9490             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), capturevisual.into_param().abi(), size.into_param().abi(), pixelformat, alphamode, sdrboost, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ICompositionSurface>>(result__)
9491         }
9492     }
9493     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>9494     pub fn Close(&self) -> ::windows::runtime::Result<()> {
9495         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
9496         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
9497     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>9498     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
9499         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9500         unsafe {
9501             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9502             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
9503         }
9504     }
9505     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>9506     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
9507         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9508         unsafe {
9509             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9510             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
9511         }
9512     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>9513     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
9514         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9515         unsafe {
9516             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9517             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
9518         }
9519     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>9520     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
9521         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9522         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
9523     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>9524     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
9525         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9526         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
9527     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9528     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9529         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9530         unsafe {
9531             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9532             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9533         }
9534     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>9535     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9536         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9537         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9538     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>9539     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
9540         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9541         unsafe {
9542             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9543             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
9544         }
9545     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>9546     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9547         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9548         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9549     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>9550     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9551         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9552         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9553     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>9554     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9555         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9556         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9557     }
9558     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>9559     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
9560         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
9561         unsafe {
9562             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9563             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
9564         }
9565     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>9566     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
9567         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
9568         unsafe {
9569             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9570             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
9571         }
9572     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>9573     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
9574         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
9575         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
9576     }
9577 }
9578 unsafe impl ::windows::runtime::RuntimeType for CompositionGraphicsDevice {
9579     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionGraphicsDevice;{fb22c6e1-80a2-4667-9936-dbeaf6eefe95})");
9580 }
9581 unsafe impl ::windows::runtime::Interface for CompositionGraphicsDevice {
9582     type Vtable = ICompositionGraphicsDevice_abi;
9583     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4213360353, 32930, 18023, [153, 54, 219, 234, 246, 238, 254, 149]);
9584 }
9585 impl ::windows::runtime::RuntimeName for CompositionGraphicsDevice {
9586     const NAME: &'static str = "Windows.UI.Composition.CompositionGraphicsDevice";
9587 }
9588 impl ::std::convert::From<CompositionGraphicsDevice> for ::windows::runtime::IUnknown {
from(value: CompositionGraphicsDevice) -> Self9589     fn from(value: CompositionGraphicsDevice) -> Self {
9590         unsafe { ::std::mem::transmute(value) }
9591     }
9592 }
9593 impl ::std::convert::From<&CompositionGraphicsDevice> for ::windows::runtime::IUnknown {
from(value: &CompositionGraphicsDevice) -> Self9594     fn from(value: &CompositionGraphicsDevice) -> Self {
9595         ::std::convert::From::from(::std::clone::Clone::clone(value))
9596     }
9597 }
9598 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9599     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9600         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9601     }
9602 }
9603 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9604     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9605         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9606     }
9607 }
9608 impl ::std::convert::From<CompositionGraphicsDevice> for ::windows::runtime::IInspectable {
from(value: CompositionGraphicsDevice) -> Self9609     fn from(value: CompositionGraphicsDevice) -> Self {
9610         value.0
9611     }
9612 }
9613 impl ::std::convert::From<&CompositionGraphicsDevice> for ::windows::runtime::IInspectable {
from(value: &CompositionGraphicsDevice) -> Self9614     fn from(value: &CompositionGraphicsDevice) -> Self {
9615         value.0.clone()
9616     }
9617 }
9618 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9619     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9620         ::windows::runtime::Param::Owned(self.0)
9621     }
9622 }
9623 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9624     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9625         ::windows::runtime::Param::Borrowed(&self.0)
9626     }
9627 }
9628 #[cfg(feature = "Foundation")]
9629 impl ::std::convert::TryFrom<CompositionGraphicsDevice> for super::super::Foundation::IClosable {
9630     type Error = ::windows::runtime::Error;
try_from(value: CompositionGraphicsDevice) -> ::windows::runtime::Result<Self>9631     fn try_from(value: CompositionGraphicsDevice) -> ::windows::runtime::Result<Self> {
9632         ::std::convert::TryFrom::try_from(&value)
9633     }
9634 }
9635 #[cfg(feature = "Foundation")]
9636 impl ::std::convert::TryFrom<&CompositionGraphicsDevice> for super::super::Foundation::IClosable {
9637     type Error = ::windows::runtime::Error;
try_from(value: &CompositionGraphicsDevice) -> ::windows::runtime::Result<Self>9638     fn try_from(value: &CompositionGraphicsDevice) -> ::windows::runtime::Result<Self> {
9639         ::windows::runtime::Interface::cast(value)
9640     }
9641 }
9642 #[cfg(feature = "Foundation")]
9643 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>9644     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
9645         ::windows::runtime::IntoParam::into_param(&self)
9646     }
9647 }
9648 #[cfg(feature = "Foundation")]
9649 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>9650     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
9651         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
9652     }
9653 }
9654 impl ::std::convert::TryFrom<CompositionGraphicsDevice> for IAnimationObject {
9655     type Error = ::windows::runtime::Error;
try_from(value: CompositionGraphicsDevice) -> ::windows::runtime::Result<Self>9656     fn try_from(value: CompositionGraphicsDevice) -> ::windows::runtime::Result<Self> {
9657         ::std::convert::TryFrom::try_from(&value)
9658     }
9659 }
9660 impl ::std::convert::TryFrom<&CompositionGraphicsDevice> for IAnimationObject {
9661     type Error = ::windows::runtime::Error;
try_from(value: &CompositionGraphicsDevice) -> ::windows::runtime::Result<Self>9662     fn try_from(value: &CompositionGraphicsDevice) -> ::windows::runtime::Result<Self> {
9663         ::windows::runtime::Interface::cast(value)
9664     }
9665 }
9666 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>9667     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
9668         ::windows::runtime::IntoParam::into_param(&self)
9669     }
9670 }
9671 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>9672     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
9673         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
9674     }
9675 }
9676 impl ::std::convert::From<CompositionGraphicsDevice> for CompositionObject {
from(value: CompositionGraphicsDevice) -> Self9677     fn from(value: CompositionGraphicsDevice) -> Self {
9678         ::std::convert::Into::<CompositionObject>::into(&value)
9679     }
9680 }
9681 impl ::std::convert::From<&CompositionGraphicsDevice> for CompositionObject {
from(value: &CompositionGraphicsDevice) -> Self9682     fn from(value: &CompositionGraphicsDevice) -> Self {
9683         ::windows::runtime::Interface::cast(value).unwrap()
9684     }
9685 }
9686 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>9687     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
9688         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
9689     }
9690 }
9691 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionGraphicsDevice {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>9692     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
9693         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
9694     }
9695 }
9696 unsafe impl ::std::marker::Send for CompositionGraphicsDevice {}
9697 unsafe impl ::std::marker::Sync for CompositionGraphicsDevice {}
9698 #[repr(transparent)]
9699 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9700 pub struct CompositionLight(::windows::runtime::IInspectable);
9701 impl CompositionLight {
Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>9702     pub fn Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
9703         let this = self;
9704         unsafe {
9705             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9706             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
9707         }
9708     }
ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>9709     pub fn ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
9710         let this = &::windows::runtime::Interface::cast::<ICompositionLight2>(self)?;
9711         unsafe {
9712             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9713             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
9714         }
9715     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>9716     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
9717         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
9718         unsafe {
9719             let mut result__: bool = ::std::mem::zeroed();
9720             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
9721         }
9722     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>9723     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
9724         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
9725         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
9726     }
9727     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>9728     pub fn Close(&self) -> ::windows::runtime::Result<()> {
9729         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
9730         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
9731     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>9732     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
9733         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9734         unsafe {
9735             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9736             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
9737         }
9738     }
9739     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>9740     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
9741         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9742         unsafe {
9743             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9744             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
9745         }
9746     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>9747     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
9748         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9749         unsafe {
9750             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9751             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
9752         }
9753     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>9754     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
9755         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9756         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
9757     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>9758     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
9759         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9760         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
9761     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9762     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9763         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9764         unsafe {
9765             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9766             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9767         }
9768     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>9769     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9770         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9771         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9772     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>9773     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
9774         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9775         unsafe {
9776             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9777             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
9778         }
9779     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>9780     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9781         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9782         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9783     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>9784     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9785         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9786         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9787     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>9788     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9789         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9790         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9791     }
9792     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>9793     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
9794         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
9795         unsafe {
9796             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9797             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
9798         }
9799     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>9800     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
9801         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
9802         unsafe {
9803             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9804             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
9805         }
9806     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>9807     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
9808         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
9809         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
9810     }
9811 }
9812 unsafe impl ::windows::runtime::RuntimeType for CompositionLight {
9813     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionLight;{41a6d7c2-2e5d-4bc1-b09e-8f0a03e3d8d3})");
9814 }
9815 unsafe impl ::windows::runtime::Interface for CompositionLight {
9816     type Vtable = ICompositionLight_abi;
9817     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1101453250, 11869, 19393, [176, 158, 143, 10, 3, 227, 216, 211]);
9818 }
9819 impl ::windows::runtime::RuntimeName for CompositionLight {
9820     const NAME: &'static str = "Windows.UI.Composition.CompositionLight";
9821 }
9822 impl ::std::convert::From<CompositionLight> for ::windows::runtime::IUnknown {
from(value: CompositionLight) -> Self9823     fn from(value: CompositionLight) -> Self {
9824         unsafe { ::std::mem::transmute(value) }
9825     }
9826 }
9827 impl ::std::convert::From<&CompositionLight> for ::windows::runtime::IUnknown {
from(value: &CompositionLight) -> Self9828     fn from(value: &CompositionLight) -> Self {
9829         ::std::convert::From::from(::std::clone::Clone::clone(value))
9830     }
9831 }
9832 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9833     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9834         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9835     }
9836 }
9837 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9838     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9839         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9840     }
9841 }
9842 impl ::std::convert::From<CompositionLight> for ::windows::runtime::IInspectable {
from(value: CompositionLight) -> Self9843     fn from(value: CompositionLight) -> Self {
9844         value.0
9845     }
9846 }
9847 impl ::std::convert::From<&CompositionLight> for ::windows::runtime::IInspectable {
from(value: &CompositionLight) -> Self9848     fn from(value: &CompositionLight) -> Self {
9849         value.0.clone()
9850     }
9851 }
9852 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9853     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9854         ::windows::runtime::Param::Owned(self.0)
9855     }
9856 }
9857 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9858     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9859         ::windows::runtime::Param::Borrowed(&self.0)
9860     }
9861 }
9862 #[cfg(feature = "Foundation")]
9863 impl ::std::convert::TryFrom<CompositionLight> for super::super::Foundation::IClosable {
9864     type Error = ::windows::runtime::Error;
try_from(value: CompositionLight) -> ::windows::runtime::Result<Self>9865     fn try_from(value: CompositionLight) -> ::windows::runtime::Result<Self> {
9866         ::std::convert::TryFrom::try_from(&value)
9867     }
9868 }
9869 #[cfg(feature = "Foundation")]
9870 impl ::std::convert::TryFrom<&CompositionLight> for super::super::Foundation::IClosable {
9871     type Error = ::windows::runtime::Error;
try_from(value: &CompositionLight) -> ::windows::runtime::Result<Self>9872     fn try_from(value: &CompositionLight) -> ::windows::runtime::Result<Self> {
9873         ::windows::runtime::Interface::cast(value)
9874     }
9875 }
9876 #[cfg(feature = "Foundation")]
9877 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>9878     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
9879         ::windows::runtime::IntoParam::into_param(&self)
9880     }
9881 }
9882 #[cfg(feature = "Foundation")]
9883 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>9884     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
9885         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
9886     }
9887 }
9888 impl ::std::convert::TryFrom<CompositionLight> for IAnimationObject {
9889     type Error = ::windows::runtime::Error;
try_from(value: CompositionLight) -> ::windows::runtime::Result<Self>9890     fn try_from(value: CompositionLight) -> ::windows::runtime::Result<Self> {
9891         ::std::convert::TryFrom::try_from(&value)
9892     }
9893 }
9894 impl ::std::convert::TryFrom<&CompositionLight> for IAnimationObject {
9895     type Error = ::windows::runtime::Error;
try_from(value: &CompositionLight) -> ::windows::runtime::Result<Self>9896     fn try_from(value: &CompositionLight) -> ::windows::runtime::Result<Self> {
9897         ::windows::runtime::Interface::cast(value)
9898     }
9899 }
9900 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>9901     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
9902         ::windows::runtime::IntoParam::into_param(&self)
9903     }
9904 }
9905 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>9906     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
9907         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
9908     }
9909 }
9910 impl ::std::convert::From<CompositionLight> for CompositionObject {
from(value: CompositionLight) -> Self9911     fn from(value: CompositionLight) -> Self {
9912         ::std::convert::Into::<CompositionObject>::into(&value)
9913     }
9914 }
9915 impl ::std::convert::From<&CompositionLight> for CompositionObject {
from(value: &CompositionLight) -> Self9916     fn from(value: &CompositionLight) -> Self {
9917         ::windows::runtime::Interface::cast(value).unwrap()
9918     }
9919 }
9920 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>9921     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
9922         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
9923     }
9924 }
9925 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>9926     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
9927         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
9928     }
9929 }
9930 unsafe impl ::std::marker::Send for CompositionLight {}
9931 unsafe impl ::std::marker::Sync for CompositionLight {}
9932 #[repr(transparent)]
9933 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9934 pub struct CompositionLineGeometry(::windows::runtime::IInspectable);
9935 impl CompositionLineGeometry {
9936     #[cfg(feature = "Foundation_Numerics")]
Start(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>9937     pub fn Start(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
9938         let this = self;
9939         unsafe {
9940             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
9941             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
9942         }
9943     }
9944     #[cfg(feature = "Foundation_Numerics")]
SetStart<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>9945     pub fn SetStart<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9946         let this = self;
9947         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9948     }
9949     #[cfg(feature = "Foundation_Numerics")]
End(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>9950     pub fn End(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
9951         let this = self;
9952         unsafe {
9953             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
9954             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
9955         }
9956     }
9957     #[cfg(feature = "Foundation_Numerics")]
SetEnd<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>9958     pub fn SetEnd<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9959         let this = self;
9960         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9961     }
9962     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>9963     pub fn Close(&self) -> ::windows::runtime::Result<()> {
9964         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
9965         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
9966     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>9967     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
9968         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9969         unsafe {
9970             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9971             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
9972         }
9973     }
9974     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>9975     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
9976         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9977         unsafe {
9978             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9979             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
9980         }
9981     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>9982     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
9983         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9984         unsafe {
9985             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9986             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
9987         }
9988     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>9989     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
9990         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9991         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
9992     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>9993     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
9994         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
9995         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
9996     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9997     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9998         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
9999         unsafe {
10000             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
10001             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
10002         }
10003     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>10004     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10005         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10006         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10007     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>10008     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
10009         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10010         unsafe {
10011             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10012             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
10013         }
10014     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>10015     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10016         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10017         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10018     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>10019     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10020         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10021         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10022     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>10023     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10024         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10025         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10026     }
10027     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>10028     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
10029         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
10030         unsafe {
10031             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10032             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
10033         }
10034     }
TrimEnd(&self) -> ::windows::runtime::Result<f32>10035     pub fn TrimEnd(&self) -> ::windows::runtime::Result<f32> {
10036         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
10037         unsafe {
10038             let mut result__: f32 = ::std::mem::zeroed();
10039             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
10040         }
10041     }
SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()>10042     pub fn SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()> {
10043         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
10044         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
10045     }
TrimOffset(&self) -> ::windows::runtime::Result<f32>10046     pub fn TrimOffset(&self) -> ::windows::runtime::Result<f32> {
10047         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
10048         unsafe {
10049             let mut result__: f32 = ::std::mem::zeroed();
10050             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
10051         }
10052     }
SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()>10053     pub fn SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()> {
10054         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
10055         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
10056     }
TrimStart(&self) -> ::windows::runtime::Result<f32>10057     pub fn TrimStart(&self) -> ::windows::runtime::Result<f32> {
10058         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
10059         unsafe {
10060             let mut result__: f32 = ::std::mem::zeroed();
10061             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
10062         }
10063     }
SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()>10064     pub fn SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()> {
10065         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
10066         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
10067     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>10068     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
10069         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
10070         unsafe {
10071             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10072             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
10073         }
10074     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>10075     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
10076         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
10077         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
10078     }
10079 }
10080 unsafe impl ::windows::runtime::RuntimeType for CompositionLineGeometry {
10081     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionLineGeometry;{dd7615a4-0c9a-4b67-8dce-440a5bf9cdec})");
10082 }
10083 unsafe impl ::windows::runtime::Interface for CompositionLineGeometry {
10084     type Vtable = ICompositionLineGeometry_abi;
10085     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3715503524, 3226, 19303, [141, 206, 68, 10, 91, 249, 205, 236]);
10086 }
10087 impl ::windows::runtime::RuntimeName for CompositionLineGeometry {
10088     const NAME: &'static str = "Windows.UI.Composition.CompositionLineGeometry";
10089 }
10090 impl ::std::convert::From<CompositionLineGeometry> for ::windows::runtime::IUnknown {
from(value: CompositionLineGeometry) -> Self10091     fn from(value: CompositionLineGeometry) -> Self {
10092         unsafe { ::std::mem::transmute(value) }
10093     }
10094 }
10095 impl ::std::convert::From<&CompositionLineGeometry> for ::windows::runtime::IUnknown {
from(value: &CompositionLineGeometry) -> Self10096     fn from(value: &CompositionLineGeometry) -> Self {
10097         ::std::convert::From::from(::std::clone::Clone::clone(value))
10098     }
10099 }
10100 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10101     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10102         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10103     }
10104 }
10105 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10106     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10107         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10108     }
10109 }
10110 impl ::std::convert::From<CompositionLineGeometry> for ::windows::runtime::IInspectable {
from(value: CompositionLineGeometry) -> Self10111     fn from(value: CompositionLineGeometry) -> Self {
10112         value.0
10113     }
10114 }
10115 impl ::std::convert::From<&CompositionLineGeometry> for ::windows::runtime::IInspectable {
from(value: &CompositionLineGeometry) -> Self10116     fn from(value: &CompositionLineGeometry) -> Self {
10117         value.0.clone()
10118     }
10119 }
10120 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10121     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10122         ::windows::runtime::Param::Owned(self.0)
10123     }
10124 }
10125 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10126     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10127         ::windows::runtime::Param::Borrowed(&self.0)
10128     }
10129 }
10130 #[cfg(feature = "Foundation")]
10131 impl ::std::convert::TryFrom<CompositionLineGeometry> for super::super::Foundation::IClosable {
10132     type Error = ::windows::runtime::Error;
try_from(value: CompositionLineGeometry) -> ::windows::runtime::Result<Self>10133     fn try_from(value: CompositionLineGeometry) -> ::windows::runtime::Result<Self> {
10134         ::std::convert::TryFrom::try_from(&value)
10135     }
10136 }
10137 #[cfg(feature = "Foundation")]
10138 impl ::std::convert::TryFrom<&CompositionLineGeometry> for super::super::Foundation::IClosable {
10139     type Error = ::windows::runtime::Error;
try_from(value: &CompositionLineGeometry) -> ::windows::runtime::Result<Self>10140     fn try_from(value: &CompositionLineGeometry) -> ::windows::runtime::Result<Self> {
10141         ::windows::runtime::Interface::cast(value)
10142     }
10143 }
10144 #[cfg(feature = "Foundation")]
10145 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>10146     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
10147         ::windows::runtime::IntoParam::into_param(&self)
10148     }
10149 }
10150 #[cfg(feature = "Foundation")]
10151 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>10152     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
10153         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
10154     }
10155 }
10156 impl ::std::convert::TryFrom<CompositionLineGeometry> for IAnimationObject {
10157     type Error = ::windows::runtime::Error;
try_from(value: CompositionLineGeometry) -> ::windows::runtime::Result<Self>10158     fn try_from(value: CompositionLineGeometry) -> ::windows::runtime::Result<Self> {
10159         ::std::convert::TryFrom::try_from(&value)
10160     }
10161 }
10162 impl ::std::convert::TryFrom<&CompositionLineGeometry> for IAnimationObject {
10163     type Error = ::windows::runtime::Error;
try_from(value: &CompositionLineGeometry) -> ::windows::runtime::Result<Self>10164     fn try_from(value: &CompositionLineGeometry) -> ::windows::runtime::Result<Self> {
10165         ::windows::runtime::Interface::cast(value)
10166     }
10167 }
10168 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>10169     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
10170         ::windows::runtime::IntoParam::into_param(&self)
10171     }
10172 }
10173 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>10174     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
10175         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
10176     }
10177 }
10178 impl ::std::convert::From<CompositionLineGeometry> for CompositionGeometry {
from(value: CompositionLineGeometry) -> Self10179     fn from(value: CompositionLineGeometry) -> Self {
10180         ::std::convert::Into::<CompositionGeometry>::into(&value)
10181     }
10182 }
10183 impl ::std::convert::From<&CompositionLineGeometry> for CompositionGeometry {
from(value: &CompositionLineGeometry) -> Self10184     fn from(value: &CompositionLineGeometry) -> Self {
10185         ::windows::runtime::Interface::cast(value).unwrap()
10186     }
10187 }
10188 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>10189     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
10190         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(self))
10191     }
10192 }
10193 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for &CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>10194     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
10195         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(::std::clone::Clone::clone(self)))
10196     }
10197 }
10198 impl ::std::convert::From<CompositionLineGeometry> for CompositionObject {
from(value: CompositionLineGeometry) -> Self10199     fn from(value: CompositionLineGeometry) -> Self {
10200         ::std::convert::Into::<CompositionObject>::into(&value)
10201     }
10202 }
10203 impl ::std::convert::From<&CompositionLineGeometry> for CompositionObject {
from(value: &CompositionLineGeometry) -> Self10204     fn from(value: &CompositionLineGeometry) -> Self {
10205         ::windows::runtime::Interface::cast(value).unwrap()
10206     }
10207 }
10208 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>10209     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
10210         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
10211     }
10212 }
10213 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionLineGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>10214     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
10215         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
10216     }
10217 }
10218 unsafe impl ::std::marker::Send for CompositionLineGeometry {}
10219 unsafe impl ::std::marker::Sync for CompositionLineGeometry {}
10220 #[repr(transparent)]
10221 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10222 pub struct CompositionLinearGradientBrush(::windows::runtime::IInspectable);
10223 impl CompositionLinearGradientBrush {
10224     #[cfg(feature = "Foundation_Numerics")]
EndPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>10225     pub fn EndPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
10226         let this = self;
10227         unsafe {
10228             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
10229             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
10230         }
10231     }
10232     #[cfg(feature = "Foundation_Numerics")]
SetEndPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>10233     pub fn SetEndPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10234         let this = self;
10235         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10236     }
10237     #[cfg(feature = "Foundation_Numerics")]
StartPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>10238     pub fn StartPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
10239         let this = self;
10240         unsafe {
10241             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
10242             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
10243         }
10244     }
10245     #[cfg(feature = "Foundation_Numerics")]
SetStartPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>10246     pub fn SetStartPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10247         let this = self;
10248         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10249     }
10250     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>10251     pub fn Close(&self) -> ::windows::runtime::Result<()> {
10252         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
10253         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
10254     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>10255     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
10256         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10257         unsafe {
10258             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10259             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
10260         }
10261     }
10262     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>10263     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
10264         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10265         unsafe {
10266             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10267             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
10268         }
10269     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>10270     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
10271         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10272         unsafe {
10273             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10274             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
10275         }
10276     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>10277     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
10278         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10279         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
10280     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>10281     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
10282         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10283         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
10284     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>10285     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
10286         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10287         unsafe {
10288             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
10289             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
10290         }
10291     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>10292     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10293         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10294         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10295     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>10296     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
10297         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10298         unsafe {
10299             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10300             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
10301         }
10302     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>10303     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10304         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10305         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10306     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>10307     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10308         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10309         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10310     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>10311     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10312         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10313         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10314     }
10315     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>10316     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
10317         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10318         unsafe {
10319             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
10320             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
10321         }
10322     }
10323     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>10324     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10325         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10326         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10327     }
10328     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>10329     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
10330         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10331         unsafe {
10332             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
10333             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
10334         }
10335     }
10336     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>10337     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10338         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10339         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10340     }
ColorStops(&self) -> ::windows::runtime::Result<CompositionColorGradientStopCollection>10341     pub fn ColorStops(&self) -> ::windows::runtime::Result<CompositionColorGradientStopCollection> {
10342         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10343         unsafe {
10344             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10345             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionColorGradientStopCollection>(result__)
10346         }
10347     }
ExtendMode(&self) -> ::windows::runtime::Result<CompositionGradientExtendMode>10348     pub fn ExtendMode(&self) -> ::windows::runtime::Result<CompositionGradientExtendMode> {
10349         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10350         unsafe {
10351             let mut result__: CompositionGradientExtendMode = ::std::mem::zeroed();
10352             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionGradientExtendMode>(result__)
10353         }
10354     }
SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows::runtime::Result<()>10355     pub fn SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows::runtime::Result<()> {
10356         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10357         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() }
10358     }
InterpolationSpace(&self) -> ::windows::runtime::Result<CompositionColorSpace>10359     pub fn InterpolationSpace(&self) -> ::windows::runtime::Result<CompositionColorSpace> {
10360         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10361         unsafe {
10362             let mut result__: CompositionColorSpace = ::std::mem::zeroed();
10363             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionColorSpace>(result__)
10364         }
10365     }
SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows::runtime::Result<()>10366     pub fn SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows::runtime::Result<()> {
10367         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10368         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value).ok() }
10369     }
10370     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>10371     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
10372         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10373         unsafe {
10374             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
10375             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
10376         }
10377     }
10378     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>10379     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10380         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10381         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10382     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>10383     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
10384         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10385         unsafe {
10386             let mut result__: f32 = ::std::mem::zeroed();
10387             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
10388         }
10389     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>10390     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
10391         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10392         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value).ok() }
10393     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>10394     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
10395         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10396         unsafe {
10397             let mut result__: f32 = ::std::mem::zeroed();
10398             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
10399         }
10400     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>10401     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
10402         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10403         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value).ok() }
10404     }
10405     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>10406     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
10407         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10408         unsafe {
10409             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
10410             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
10411         }
10412     }
10413     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>10414     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10415         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10416         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10417     }
10418     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>10419     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
10420         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10421         unsafe {
10422             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
10423             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
10424         }
10425     }
10426     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>10427     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10428         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
10429         unsafe { (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10430     }
10431     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>10432     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
10433         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
10434         unsafe {
10435             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10436             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
10437         }
10438     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>10439     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
10440         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
10441         unsafe {
10442             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10443             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
10444         }
10445     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>10446     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
10447         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
10448         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
10449     }
MappingMode(&self) -> ::windows::runtime::Result<CompositionMappingMode>10450     pub fn MappingMode(&self) -> ::windows::runtime::Result<CompositionMappingMode> {
10451         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush2>(self)?;
10452         unsafe {
10453             let mut result__: CompositionMappingMode = ::std::mem::zeroed();
10454             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionMappingMode>(result__)
10455         }
10456     }
SetMappingMode(&self, value: CompositionMappingMode) -> ::windows::runtime::Result<()>10457     pub fn SetMappingMode(&self, value: CompositionMappingMode) -> ::windows::runtime::Result<()> {
10458         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush2>(self)?;
10459         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
10460     }
10461 }
10462 unsafe impl ::windows::runtime::RuntimeType for CompositionLinearGradientBrush {
10463     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionLinearGradientBrush;{983bc519-a9db-413c-a2d8-2a9056fc525e})");
10464 }
10465 unsafe impl ::windows::runtime::Interface for CompositionLinearGradientBrush {
10466     type Vtable = ICompositionLinearGradientBrush_abi;
10467     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2554053913, 43483, 16700, [162, 216, 42, 144, 86, 252, 82, 94]);
10468 }
10469 impl ::windows::runtime::RuntimeName for CompositionLinearGradientBrush {
10470     const NAME: &'static str = "Windows.UI.Composition.CompositionLinearGradientBrush";
10471 }
10472 impl ::std::convert::From<CompositionLinearGradientBrush> for ::windows::runtime::IUnknown {
from(value: CompositionLinearGradientBrush) -> Self10473     fn from(value: CompositionLinearGradientBrush) -> Self {
10474         unsafe { ::std::mem::transmute(value) }
10475     }
10476 }
10477 impl ::std::convert::From<&CompositionLinearGradientBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionLinearGradientBrush) -> Self10478     fn from(value: &CompositionLinearGradientBrush) -> Self {
10479         ::std::convert::From::from(::std::clone::Clone::clone(value))
10480     }
10481 }
10482 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10483     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10484         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10485     }
10486 }
10487 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10488     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10489         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10490     }
10491 }
10492 impl ::std::convert::From<CompositionLinearGradientBrush> for ::windows::runtime::IInspectable {
from(value: CompositionLinearGradientBrush) -> Self10493     fn from(value: CompositionLinearGradientBrush) -> Self {
10494         value.0
10495     }
10496 }
10497 impl ::std::convert::From<&CompositionLinearGradientBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionLinearGradientBrush) -> Self10498     fn from(value: &CompositionLinearGradientBrush) -> Self {
10499         value.0.clone()
10500     }
10501 }
10502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10504         ::windows::runtime::Param::Owned(self.0)
10505     }
10506 }
10507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10509         ::windows::runtime::Param::Borrowed(&self.0)
10510     }
10511 }
10512 #[cfg(feature = "Foundation")]
10513 impl ::std::convert::TryFrom<CompositionLinearGradientBrush> for super::super::Foundation::IClosable {
10514     type Error = ::windows::runtime::Error;
try_from(value: CompositionLinearGradientBrush) -> ::windows::runtime::Result<Self>10515     fn try_from(value: CompositionLinearGradientBrush) -> ::windows::runtime::Result<Self> {
10516         ::std::convert::TryFrom::try_from(&value)
10517     }
10518 }
10519 #[cfg(feature = "Foundation")]
10520 impl ::std::convert::TryFrom<&CompositionLinearGradientBrush> for super::super::Foundation::IClosable {
10521     type Error = ::windows::runtime::Error;
try_from(value: &CompositionLinearGradientBrush) -> ::windows::runtime::Result<Self>10522     fn try_from(value: &CompositionLinearGradientBrush) -> ::windows::runtime::Result<Self> {
10523         ::windows::runtime::Interface::cast(value)
10524     }
10525 }
10526 #[cfg(feature = "Foundation")]
10527 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>10528     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
10529         ::windows::runtime::IntoParam::into_param(&self)
10530     }
10531 }
10532 #[cfg(feature = "Foundation")]
10533 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>10534     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
10535         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
10536     }
10537 }
10538 impl ::std::convert::TryFrom<CompositionLinearGradientBrush> for IAnimationObject {
10539     type Error = ::windows::runtime::Error;
try_from(value: CompositionLinearGradientBrush) -> ::windows::runtime::Result<Self>10540     fn try_from(value: CompositionLinearGradientBrush) -> ::windows::runtime::Result<Self> {
10541         ::std::convert::TryFrom::try_from(&value)
10542     }
10543 }
10544 impl ::std::convert::TryFrom<&CompositionLinearGradientBrush> for IAnimationObject {
10545     type Error = ::windows::runtime::Error;
try_from(value: &CompositionLinearGradientBrush) -> ::windows::runtime::Result<Self>10546     fn try_from(value: &CompositionLinearGradientBrush) -> ::windows::runtime::Result<Self> {
10547         ::windows::runtime::Interface::cast(value)
10548     }
10549 }
10550 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>10551     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
10552         ::windows::runtime::IntoParam::into_param(&self)
10553     }
10554 }
10555 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>10556     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
10557         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
10558     }
10559 }
10560 impl ::std::convert::From<CompositionLinearGradientBrush> for CompositionGradientBrush {
from(value: CompositionLinearGradientBrush) -> Self10561     fn from(value: CompositionLinearGradientBrush) -> Self {
10562         ::std::convert::Into::<CompositionGradientBrush>::into(&value)
10563     }
10564 }
10565 impl ::std::convert::From<&CompositionLinearGradientBrush> for CompositionGradientBrush {
from(value: &CompositionLinearGradientBrush) -> Self10566     fn from(value: &CompositionLinearGradientBrush) -> Self {
10567         ::windows::runtime::Interface::cast(value).unwrap()
10568     }
10569 }
10570 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGradientBrush> for CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGradientBrush>10571     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGradientBrush> {
10572         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGradientBrush>::into(self))
10573     }
10574 }
10575 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGradientBrush> for &CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGradientBrush>10576     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGradientBrush> {
10577         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGradientBrush>::into(::std::clone::Clone::clone(self)))
10578     }
10579 }
10580 impl ::std::convert::From<CompositionLinearGradientBrush> for CompositionBrush {
from(value: CompositionLinearGradientBrush) -> Self10581     fn from(value: CompositionLinearGradientBrush) -> Self {
10582         ::std::convert::Into::<CompositionBrush>::into(&value)
10583     }
10584 }
10585 impl ::std::convert::From<&CompositionLinearGradientBrush> for CompositionBrush {
from(value: &CompositionLinearGradientBrush) -> Self10586     fn from(value: &CompositionLinearGradientBrush) -> Self {
10587         ::windows::runtime::Interface::cast(value).unwrap()
10588     }
10589 }
10590 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>10591     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
10592         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(self))
10593     }
10594 }
10595 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for &CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>10596     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
10597         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(::std::clone::Clone::clone(self)))
10598     }
10599 }
10600 impl ::std::convert::From<CompositionLinearGradientBrush> for CompositionObject {
from(value: CompositionLinearGradientBrush) -> Self10601     fn from(value: CompositionLinearGradientBrush) -> Self {
10602         ::std::convert::Into::<CompositionObject>::into(&value)
10603     }
10604 }
10605 impl ::std::convert::From<&CompositionLinearGradientBrush> for CompositionObject {
from(value: &CompositionLinearGradientBrush) -> Self10606     fn from(value: &CompositionLinearGradientBrush) -> Self {
10607         ::windows::runtime::Interface::cast(value).unwrap()
10608     }
10609 }
10610 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>10611     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
10612         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
10613     }
10614 }
10615 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionLinearGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>10616     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
10617         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
10618     }
10619 }
10620 unsafe impl ::std::marker::Send for CompositionLinearGradientBrush {}
10621 unsafe impl ::std::marker::Sync for CompositionLinearGradientBrush {}
10622 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10623 #[repr(transparent)]
10624 pub struct CompositionMappingMode(pub i32);
10625 impl CompositionMappingMode {
10626     pub const Absolute: CompositionMappingMode = CompositionMappingMode(0i32);
10627     pub const Relative: CompositionMappingMode = CompositionMappingMode(1i32);
10628 }
10629 impl ::std::convert::From<i32> for CompositionMappingMode {
from(value: i32) -> Self10630     fn from(value: i32) -> Self {
10631         Self(value)
10632     }
10633 }
10634 unsafe impl ::windows::runtime::Abi for CompositionMappingMode {
10635     type Abi = Self;
10636     type DefaultType = Self;
10637 }
10638 unsafe impl ::windows::runtime::RuntimeType for CompositionMappingMode {
10639     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionMappingMode;i4)");
10640 }
10641 #[repr(transparent)]
10642 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10643 pub struct CompositionMaskBrush(::windows::runtime::IInspectable);
10644 impl CompositionMaskBrush {
Mask(&self) -> ::windows::runtime::Result<CompositionBrush>10645     pub fn Mask(&self) -> ::windows::runtime::Result<CompositionBrush> {
10646         let this = self;
10647         unsafe {
10648             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10649             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBrush>(result__)
10650         }
10651     }
SetMask<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>10652     pub fn SetMask<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10653         let this = self;
10654         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10655     }
Source(&self) -> ::windows::runtime::Result<CompositionBrush>10656     pub fn Source(&self) -> ::windows::runtime::Result<CompositionBrush> {
10657         let this = self;
10658         unsafe {
10659             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10660             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBrush>(result__)
10661         }
10662     }
SetSource<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>10663     pub fn SetSource<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10664         let this = self;
10665         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10666     }
10667     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>10668     pub fn Close(&self) -> ::windows::runtime::Result<()> {
10669         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
10670         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
10671     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>10672     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
10673         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10674         unsafe {
10675             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10676             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
10677         }
10678     }
10679     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>10680     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
10681         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10682         unsafe {
10683             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10684             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
10685         }
10686     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>10687     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
10688         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10689         unsafe {
10690             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10691             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
10692         }
10693     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>10694     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
10695         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10696         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
10697     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>10698     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
10699         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10700         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
10701     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>10702     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
10703         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10704         unsafe {
10705             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
10706             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
10707         }
10708     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>10709     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10710         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10711         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10712     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>10713     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
10714         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10715         unsafe {
10716             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10717             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
10718         }
10719     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>10720     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10721         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10722         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10723     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>10724     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10725         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10726         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10727     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>10728     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10729         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10730         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10731     }
10732     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>10733     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
10734         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
10735         unsafe {
10736             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10737             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
10738         }
10739     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>10740     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
10741         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
10742         unsafe {
10743             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10744             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
10745         }
10746     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>10747     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
10748         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
10749         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
10750     }
10751 }
10752 unsafe impl ::windows::runtime::RuntimeType for CompositionMaskBrush {
10753     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionMaskBrush;{522cf09e-be6b-4f41-be49-f9226d471b4a})");
10754 }
10755 unsafe impl ::windows::runtime::Interface for CompositionMaskBrush {
10756     type Vtable = ICompositionMaskBrush_abi;
10757     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1378676894, 48747, 20289, [190, 73, 249, 34, 109, 71, 27, 74]);
10758 }
10759 impl ::windows::runtime::RuntimeName for CompositionMaskBrush {
10760     const NAME: &'static str = "Windows.UI.Composition.CompositionMaskBrush";
10761 }
10762 impl ::std::convert::From<CompositionMaskBrush> for ::windows::runtime::IUnknown {
from(value: CompositionMaskBrush) -> Self10763     fn from(value: CompositionMaskBrush) -> Self {
10764         unsafe { ::std::mem::transmute(value) }
10765     }
10766 }
10767 impl ::std::convert::From<&CompositionMaskBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionMaskBrush) -> Self10768     fn from(value: &CompositionMaskBrush) -> Self {
10769         ::std::convert::From::from(::std::clone::Clone::clone(value))
10770     }
10771 }
10772 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10773     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10774         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10775     }
10776 }
10777 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10778     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10779         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10780     }
10781 }
10782 impl ::std::convert::From<CompositionMaskBrush> for ::windows::runtime::IInspectable {
from(value: CompositionMaskBrush) -> Self10783     fn from(value: CompositionMaskBrush) -> Self {
10784         value.0
10785     }
10786 }
10787 impl ::std::convert::From<&CompositionMaskBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionMaskBrush) -> Self10788     fn from(value: &CompositionMaskBrush) -> Self {
10789         value.0.clone()
10790     }
10791 }
10792 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10793     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10794         ::windows::runtime::Param::Owned(self.0)
10795     }
10796 }
10797 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10798     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10799         ::windows::runtime::Param::Borrowed(&self.0)
10800     }
10801 }
10802 #[cfg(feature = "Foundation")]
10803 impl ::std::convert::TryFrom<CompositionMaskBrush> for super::super::Foundation::IClosable {
10804     type Error = ::windows::runtime::Error;
try_from(value: CompositionMaskBrush) -> ::windows::runtime::Result<Self>10805     fn try_from(value: CompositionMaskBrush) -> ::windows::runtime::Result<Self> {
10806         ::std::convert::TryFrom::try_from(&value)
10807     }
10808 }
10809 #[cfg(feature = "Foundation")]
10810 impl ::std::convert::TryFrom<&CompositionMaskBrush> for super::super::Foundation::IClosable {
10811     type Error = ::windows::runtime::Error;
try_from(value: &CompositionMaskBrush) -> ::windows::runtime::Result<Self>10812     fn try_from(value: &CompositionMaskBrush) -> ::windows::runtime::Result<Self> {
10813         ::windows::runtime::Interface::cast(value)
10814     }
10815 }
10816 #[cfg(feature = "Foundation")]
10817 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>10818     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
10819         ::windows::runtime::IntoParam::into_param(&self)
10820     }
10821 }
10822 #[cfg(feature = "Foundation")]
10823 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>10824     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
10825         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
10826     }
10827 }
10828 impl ::std::convert::TryFrom<CompositionMaskBrush> for IAnimationObject {
10829     type Error = ::windows::runtime::Error;
try_from(value: CompositionMaskBrush) -> ::windows::runtime::Result<Self>10830     fn try_from(value: CompositionMaskBrush) -> ::windows::runtime::Result<Self> {
10831         ::std::convert::TryFrom::try_from(&value)
10832     }
10833 }
10834 impl ::std::convert::TryFrom<&CompositionMaskBrush> for IAnimationObject {
10835     type Error = ::windows::runtime::Error;
try_from(value: &CompositionMaskBrush) -> ::windows::runtime::Result<Self>10836     fn try_from(value: &CompositionMaskBrush) -> ::windows::runtime::Result<Self> {
10837         ::windows::runtime::Interface::cast(value)
10838     }
10839 }
10840 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>10841     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
10842         ::windows::runtime::IntoParam::into_param(&self)
10843     }
10844 }
10845 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>10846     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
10847         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
10848     }
10849 }
10850 impl ::std::convert::From<CompositionMaskBrush> for CompositionBrush {
from(value: CompositionMaskBrush) -> Self10851     fn from(value: CompositionMaskBrush) -> Self {
10852         ::std::convert::Into::<CompositionBrush>::into(&value)
10853     }
10854 }
10855 impl ::std::convert::From<&CompositionMaskBrush> for CompositionBrush {
from(value: &CompositionMaskBrush) -> Self10856     fn from(value: &CompositionMaskBrush) -> Self {
10857         ::windows::runtime::Interface::cast(value).unwrap()
10858     }
10859 }
10860 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>10861     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
10862         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(self))
10863     }
10864 }
10865 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for &CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>10866     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
10867         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(::std::clone::Clone::clone(self)))
10868     }
10869 }
10870 impl ::std::convert::From<CompositionMaskBrush> for CompositionObject {
from(value: CompositionMaskBrush) -> Self10871     fn from(value: CompositionMaskBrush) -> Self {
10872         ::std::convert::Into::<CompositionObject>::into(&value)
10873     }
10874 }
10875 impl ::std::convert::From<&CompositionMaskBrush> for CompositionObject {
from(value: &CompositionMaskBrush) -> Self10876     fn from(value: &CompositionMaskBrush) -> Self {
10877         ::windows::runtime::Interface::cast(value).unwrap()
10878     }
10879 }
10880 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>10881     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
10882         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
10883     }
10884 }
10885 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionMaskBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>10886     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
10887         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
10888     }
10889 }
10890 unsafe impl ::std::marker::Send for CompositionMaskBrush {}
10891 unsafe impl ::std::marker::Sync for CompositionMaskBrush {}
10892 #[repr(transparent)]
10893 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10894 pub struct CompositionMipmapSurface(::windows::runtime::IInspectable);
10895 impl CompositionMipmapSurface {
LevelCount(&self) -> ::windows::runtime::Result<u32>10896     pub fn LevelCount(&self) -> ::windows::runtime::Result<u32> {
10897         let this = self;
10898         unsafe {
10899             let mut result__: u32 = ::std::mem::zeroed();
10900             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
10901         }
10902     }
10903     #[cfg(feature = "Graphics_DirectX")]
AlphaMode(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXAlphaMode>10904     pub fn AlphaMode(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXAlphaMode> {
10905         let this = self;
10906         unsafe {
10907             let mut result__: super::super::Graphics::DirectX::DirectXAlphaMode = ::std::mem::zeroed();
10908             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Graphics::DirectX::DirectXAlphaMode>(result__)
10909         }
10910     }
10911     #[cfg(feature = "Graphics_DirectX")]
PixelFormat(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXPixelFormat>10912     pub fn PixelFormat(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXPixelFormat> {
10913         let this = self;
10914         unsafe {
10915             let mut result__: super::super::Graphics::DirectX::DirectXPixelFormat = ::std::mem::zeroed();
10916             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Graphics::DirectX::DirectXPixelFormat>(result__)
10917         }
10918     }
10919     #[cfg(feature = "Graphics")]
SizeInt32(&self) -> ::windows::runtime::Result<super::super::Graphics::SizeInt32>10920     pub fn SizeInt32(&self) -> ::windows::runtime::Result<super::super::Graphics::SizeInt32> {
10921         let this = self;
10922         unsafe {
10923             let mut result__: super::super::Graphics::SizeInt32 = ::std::mem::zeroed();
10924             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Graphics::SizeInt32>(result__)
10925         }
10926     }
GetDrawingSurfaceForLevel(&self, level: u32) -> ::windows::runtime::Result<CompositionDrawingSurface>10927     pub fn GetDrawingSurfaceForLevel(&self, level: u32) -> ::windows::runtime::Result<CompositionDrawingSurface> {
10928         let this = self;
10929         unsafe {
10930             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10931             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), level, &mut result__).from_abi::<CompositionDrawingSurface>(result__)
10932         }
10933     }
10934     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>10935     pub fn Close(&self) -> ::windows::runtime::Result<()> {
10936         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
10937         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
10938     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>10939     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
10940         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10941         unsafe {
10942             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10943             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
10944         }
10945     }
10946     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>10947     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
10948         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10949         unsafe {
10950             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10951             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
10952         }
10953     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>10954     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
10955         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10956         unsafe {
10957             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10958             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
10959         }
10960     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>10961     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
10962         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10963         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
10964     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>10965     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
10966         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
10967         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
10968     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>10969     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
10970         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10971         unsafe {
10972             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
10973             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
10974         }
10975     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>10976     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10977         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10978         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10979     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>10980     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
10981         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10982         unsafe {
10983             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10984             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
10985         }
10986     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>10987     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10988         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10989         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10990     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>10991     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10992         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10993         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10994     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>10995     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10996         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
10997         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10998     }
10999     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>11000     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
11001         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
11002         unsafe {
11003             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11004             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
11005         }
11006     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>11007     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
11008         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
11009         unsafe {
11010             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11011             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
11012         }
11013     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>11014     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
11015         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
11016         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
11017     }
11018 }
11019 unsafe impl ::windows::runtime::RuntimeType for CompositionMipmapSurface {
11020     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionMipmapSurface;{4863675c-cf4a-4b1c-9ece-c5ec0c2b2fe6})");
11021 }
11022 unsafe impl ::windows::runtime::Interface for CompositionMipmapSurface {
11023     type Vtable = ICompositionMipmapSurface_abi;
11024     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1214474076, 53066, 19228, [158, 206, 197, 236, 12, 43, 47, 230]);
11025 }
11026 impl ::windows::runtime::RuntimeName for CompositionMipmapSurface {
11027     const NAME: &'static str = "Windows.UI.Composition.CompositionMipmapSurface";
11028 }
11029 impl ::std::convert::From<CompositionMipmapSurface> for ::windows::runtime::IUnknown {
from(value: CompositionMipmapSurface) -> Self11030     fn from(value: CompositionMipmapSurface) -> Self {
11031         unsafe { ::std::mem::transmute(value) }
11032     }
11033 }
11034 impl ::std::convert::From<&CompositionMipmapSurface> for ::windows::runtime::IUnknown {
from(value: &CompositionMipmapSurface) -> Self11035     fn from(value: &CompositionMipmapSurface) -> Self {
11036         ::std::convert::From::from(::std::clone::Clone::clone(value))
11037     }
11038 }
11039 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11040     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11041         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11042     }
11043 }
11044 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11045     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11046         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11047     }
11048 }
11049 impl ::std::convert::From<CompositionMipmapSurface> for ::windows::runtime::IInspectable {
from(value: CompositionMipmapSurface) -> Self11050     fn from(value: CompositionMipmapSurface) -> Self {
11051         value.0
11052     }
11053 }
11054 impl ::std::convert::From<&CompositionMipmapSurface> for ::windows::runtime::IInspectable {
from(value: &CompositionMipmapSurface) -> Self11055     fn from(value: &CompositionMipmapSurface) -> Self {
11056         value.0.clone()
11057     }
11058 }
11059 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11060     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11061         ::windows::runtime::Param::Owned(self.0)
11062     }
11063 }
11064 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11065     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11066         ::windows::runtime::Param::Borrowed(&self.0)
11067     }
11068 }
11069 impl ::std::convert::TryFrom<CompositionMipmapSurface> for ICompositionSurface {
11070     type Error = ::windows::runtime::Error;
try_from(value: CompositionMipmapSurface) -> ::windows::runtime::Result<Self>11071     fn try_from(value: CompositionMipmapSurface) -> ::windows::runtime::Result<Self> {
11072         ::std::convert::TryFrom::try_from(&value)
11073     }
11074 }
11075 impl ::std::convert::TryFrom<&CompositionMipmapSurface> for ICompositionSurface {
11076     type Error = ::windows::runtime::Error;
try_from(value: &CompositionMipmapSurface) -> ::windows::runtime::Result<Self>11077     fn try_from(value: &CompositionMipmapSurface) -> ::windows::runtime::Result<Self> {
11078         ::windows::runtime::Interface::cast(value)
11079     }
11080 }
11081 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionSurface> for CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface>11082     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface> {
11083         ::windows::runtime::IntoParam::into_param(&self)
11084     }
11085 }
11086 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionSurface> for &CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface>11087     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface> {
11088         ::std::convert::TryInto::<ICompositionSurface>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
11089     }
11090 }
11091 #[cfg(feature = "Foundation")]
11092 impl ::std::convert::TryFrom<CompositionMipmapSurface> for super::super::Foundation::IClosable {
11093     type Error = ::windows::runtime::Error;
try_from(value: CompositionMipmapSurface) -> ::windows::runtime::Result<Self>11094     fn try_from(value: CompositionMipmapSurface) -> ::windows::runtime::Result<Self> {
11095         ::std::convert::TryFrom::try_from(&value)
11096     }
11097 }
11098 #[cfg(feature = "Foundation")]
11099 impl ::std::convert::TryFrom<&CompositionMipmapSurface> for super::super::Foundation::IClosable {
11100     type Error = ::windows::runtime::Error;
try_from(value: &CompositionMipmapSurface) -> ::windows::runtime::Result<Self>11101     fn try_from(value: &CompositionMipmapSurface) -> ::windows::runtime::Result<Self> {
11102         ::windows::runtime::Interface::cast(value)
11103     }
11104 }
11105 #[cfg(feature = "Foundation")]
11106 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>11107     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
11108         ::windows::runtime::IntoParam::into_param(&self)
11109     }
11110 }
11111 #[cfg(feature = "Foundation")]
11112 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>11113     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
11114         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
11115     }
11116 }
11117 impl ::std::convert::TryFrom<CompositionMipmapSurface> for IAnimationObject {
11118     type Error = ::windows::runtime::Error;
try_from(value: CompositionMipmapSurface) -> ::windows::runtime::Result<Self>11119     fn try_from(value: CompositionMipmapSurface) -> ::windows::runtime::Result<Self> {
11120         ::std::convert::TryFrom::try_from(&value)
11121     }
11122 }
11123 impl ::std::convert::TryFrom<&CompositionMipmapSurface> for IAnimationObject {
11124     type Error = ::windows::runtime::Error;
try_from(value: &CompositionMipmapSurface) -> ::windows::runtime::Result<Self>11125     fn try_from(value: &CompositionMipmapSurface) -> ::windows::runtime::Result<Self> {
11126         ::windows::runtime::Interface::cast(value)
11127     }
11128 }
11129 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>11130     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
11131         ::windows::runtime::IntoParam::into_param(&self)
11132     }
11133 }
11134 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>11135     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
11136         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
11137     }
11138 }
11139 impl ::std::convert::From<CompositionMipmapSurface> for CompositionObject {
from(value: CompositionMipmapSurface) -> Self11140     fn from(value: CompositionMipmapSurface) -> Self {
11141         ::std::convert::Into::<CompositionObject>::into(&value)
11142     }
11143 }
11144 impl ::std::convert::From<&CompositionMipmapSurface> for CompositionObject {
from(value: &CompositionMipmapSurface) -> Self11145     fn from(value: &CompositionMipmapSurface) -> Self {
11146         ::windows::runtime::Interface::cast(value).unwrap()
11147     }
11148 }
11149 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>11150     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
11151         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
11152     }
11153 }
11154 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionMipmapSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>11155     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
11156         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
11157     }
11158 }
11159 unsafe impl ::std::marker::Send for CompositionMipmapSurface {}
11160 unsafe impl ::std::marker::Sync for CompositionMipmapSurface {}
11161 #[repr(transparent)]
11162 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11163 pub struct CompositionNineGridBrush(::windows::runtime::IInspectable);
11164 impl CompositionNineGridBrush {
BottomInset(&self) -> ::windows::runtime::Result<f32>11165     pub fn BottomInset(&self) -> ::windows::runtime::Result<f32> {
11166         let this = self;
11167         unsafe {
11168             let mut result__: f32 = ::std::mem::zeroed();
11169             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11170         }
11171     }
SetBottomInset(&self, value: f32) -> ::windows::runtime::Result<()>11172     pub fn SetBottomInset(&self, value: f32) -> ::windows::runtime::Result<()> {
11173         let this = self;
11174         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
11175     }
BottomInsetScale(&self) -> ::windows::runtime::Result<f32>11176     pub fn BottomInsetScale(&self) -> ::windows::runtime::Result<f32> {
11177         let this = self;
11178         unsafe {
11179             let mut result__: f32 = ::std::mem::zeroed();
11180             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11181         }
11182     }
SetBottomInsetScale(&self, value: f32) -> ::windows::runtime::Result<()>11183     pub fn SetBottomInsetScale(&self, value: f32) -> ::windows::runtime::Result<()> {
11184         let this = self;
11185         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
11186     }
IsCenterHollow(&self) -> ::windows::runtime::Result<bool>11187     pub fn IsCenterHollow(&self) -> ::windows::runtime::Result<bool> {
11188         let this = self;
11189         unsafe {
11190             let mut result__: bool = ::std::mem::zeroed();
11191             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
11192         }
11193     }
SetIsCenterHollow(&self, value: bool) -> ::windows::runtime::Result<()>11194     pub fn SetIsCenterHollow(&self, value: bool) -> ::windows::runtime::Result<()> {
11195         let this = self;
11196         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
11197     }
LeftInset(&self) -> ::windows::runtime::Result<f32>11198     pub fn LeftInset(&self) -> ::windows::runtime::Result<f32> {
11199         let this = self;
11200         unsafe {
11201             let mut result__: f32 = ::std::mem::zeroed();
11202             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11203         }
11204     }
SetLeftInset(&self, value: f32) -> ::windows::runtime::Result<()>11205     pub fn SetLeftInset(&self, value: f32) -> ::windows::runtime::Result<()> {
11206         let this = self;
11207         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
11208     }
LeftInsetScale(&self) -> ::windows::runtime::Result<f32>11209     pub fn LeftInsetScale(&self) -> ::windows::runtime::Result<f32> {
11210         let this = self;
11211         unsafe {
11212             let mut result__: f32 = ::std::mem::zeroed();
11213             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11214         }
11215     }
SetLeftInsetScale(&self, value: f32) -> ::windows::runtime::Result<()>11216     pub fn SetLeftInsetScale(&self, value: f32) -> ::windows::runtime::Result<()> {
11217         let this = self;
11218         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
11219     }
RightInset(&self) -> ::windows::runtime::Result<f32>11220     pub fn RightInset(&self) -> ::windows::runtime::Result<f32> {
11221         let this = self;
11222         unsafe {
11223             let mut result__: f32 = ::std::mem::zeroed();
11224             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11225         }
11226     }
SetRightInset(&self, value: f32) -> ::windows::runtime::Result<()>11227     pub fn SetRightInset(&self, value: f32) -> ::windows::runtime::Result<()> {
11228         let this = self;
11229         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
11230     }
RightInsetScale(&self) -> ::windows::runtime::Result<f32>11231     pub fn RightInsetScale(&self) -> ::windows::runtime::Result<f32> {
11232         let this = self;
11233         unsafe {
11234             let mut result__: f32 = ::std::mem::zeroed();
11235             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11236         }
11237     }
SetRightInsetScale(&self, value: f32) -> ::windows::runtime::Result<()>11238     pub fn SetRightInsetScale(&self, value: f32) -> ::windows::runtime::Result<()> {
11239         let this = self;
11240         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
11241     }
Source(&self) -> ::windows::runtime::Result<CompositionBrush>11242     pub fn Source(&self) -> ::windows::runtime::Result<CompositionBrush> {
11243         let this = self;
11244         unsafe {
11245             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11246             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBrush>(result__)
11247         }
11248     }
SetSource<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>11249     pub fn SetSource<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11250         let this = self;
11251         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11252     }
TopInset(&self) -> ::windows::runtime::Result<f32>11253     pub fn TopInset(&self) -> ::windows::runtime::Result<f32> {
11254         let this = self;
11255         unsafe {
11256             let mut result__: f32 = ::std::mem::zeroed();
11257             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11258         }
11259     }
SetTopInset(&self, value: f32) -> ::windows::runtime::Result<()>11260     pub fn SetTopInset(&self, value: f32) -> ::windows::runtime::Result<()> {
11261         let this = self;
11262         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
11263     }
TopInsetScale(&self) -> ::windows::runtime::Result<f32>11264     pub fn TopInsetScale(&self) -> ::windows::runtime::Result<f32> {
11265         let this = self;
11266         unsafe {
11267             let mut result__: f32 = ::std::mem::zeroed();
11268             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11269         }
11270     }
SetTopInsetScale(&self, value: f32) -> ::windows::runtime::Result<()>11271     pub fn SetTopInsetScale(&self, value: f32) -> ::windows::runtime::Result<()> {
11272         let this = self;
11273         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value).ok() }
11274     }
SetInsets(&self, inset: f32) -> ::windows::runtime::Result<()>11275     pub fn SetInsets(&self, inset: f32) -> ::windows::runtime::Result<()> {
11276         let this = self;
11277         unsafe { (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), inset).ok() }
11278     }
SetInsetsWithValues(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::runtime::Result<()>11279     pub fn SetInsetsWithValues(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::runtime::Result<()> {
11280         let this = self;
11281         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), left, top, right, bottom).ok() }
11282     }
SetInsetScales(&self, scale: f32) -> ::windows::runtime::Result<()>11283     pub fn SetInsetScales(&self, scale: f32) -> ::windows::runtime::Result<()> {
11284         let this = self;
11285         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), scale).ok() }
11286     }
SetInsetScalesWithValues(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::runtime::Result<()>11287     pub fn SetInsetScalesWithValues(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::runtime::Result<()> {
11288         let this = self;
11289         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), left, top, right, bottom).ok() }
11290     }
11291     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>11292     pub fn Close(&self) -> ::windows::runtime::Result<()> {
11293         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
11294         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
11295     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>11296     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
11297         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11298         unsafe {
11299             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11300             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
11301         }
11302     }
11303     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>11304     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
11305         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11306         unsafe {
11307             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11308             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
11309         }
11310     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>11311     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
11312         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11313         unsafe {
11314             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11315             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
11316         }
11317     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>11318     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
11319         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11320         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
11321     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>11322     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
11323         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11324         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
11325     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>11326     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
11327         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11328         unsafe {
11329             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
11330             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
11331         }
11332     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>11333     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11334         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11335         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11336     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>11337     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
11338         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11339         unsafe {
11340             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11341             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
11342         }
11343     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>11344     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11345         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11346         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11347     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>11348     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11349         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11350         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11351     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>11352     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11353         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11354         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11355     }
11356     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>11357     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
11358         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
11359         unsafe {
11360             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11361             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
11362         }
11363     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>11364     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
11365         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
11366         unsafe {
11367             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11368             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
11369         }
11370     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>11371     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
11372         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
11373         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
11374     }
11375 }
11376 unsafe impl ::windows::runtime::RuntimeType for CompositionNineGridBrush {
11377     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionNineGridBrush;{f25154e4-bc8c-4be7-b80f-8685b83c0186})");
11378 }
11379 unsafe impl ::windows::runtime::Interface for CompositionNineGridBrush {
11380     type Vtable = ICompositionNineGridBrush_abi;
11381     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4065416420, 48268, 19431, [184, 15, 134, 133, 184, 60, 1, 134]);
11382 }
11383 impl ::windows::runtime::RuntimeName for CompositionNineGridBrush {
11384     const NAME: &'static str = "Windows.UI.Composition.CompositionNineGridBrush";
11385 }
11386 impl ::std::convert::From<CompositionNineGridBrush> for ::windows::runtime::IUnknown {
from(value: CompositionNineGridBrush) -> Self11387     fn from(value: CompositionNineGridBrush) -> Self {
11388         unsafe { ::std::mem::transmute(value) }
11389     }
11390 }
11391 impl ::std::convert::From<&CompositionNineGridBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionNineGridBrush) -> Self11392     fn from(value: &CompositionNineGridBrush) -> Self {
11393         ::std::convert::From::from(::std::clone::Clone::clone(value))
11394     }
11395 }
11396 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11397     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11398         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11399     }
11400 }
11401 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11402     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11403         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11404     }
11405 }
11406 impl ::std::convert::From<CompositionNineGridBrush> for ::windows::runtime::IInspectable {
from(value: CompositionNineGridBrush) -> Self11407     fn from(value: CompositionNineGridBrush) -> Self {
11408         value.0
11409     }
11410 }
11411 impl ::std::convert::From<&CompositionNineGridBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionNineGridBrush) -> Self11412     fn from(value: &CompositionNineGridBrush) -> Self {
11413         value.0.clone()
11414     }
11415 }
11416 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11417     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11418         ::windows::runtime::Param::Owned(self.0)
11419     }
11420 }
11421 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11422     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11423         ::windows::runtime::Param::Borrowed(&self.0)
11424     }
11425 }
11426 #[cfg(feature = "Foundation")]
11427 impl ::std::convert::TryFrom<CompositionNineGridBrush> for super::super::Foundation::IClosable {
11428     type Error = ::windows::runtime::Error;
try_from(value: CompositionNineGridBrush) -> ::windows::runtime::Result<Self>11429     fn try_from(value: CompositionNineGridBrush) -> ::windows::runtime::Result<Self> {
11430         ::std::convert::TryFrom::try_from(&value)
11431     }
11432 }
11433 #[cfg(feature = "Foundation")]
11434 impl ::std::convert::TryFrom<&CompositionNineGridBrush> for super::super::Foundation::IClosable {
11435     type Error = ::windows::runtime::Error;
try_from(value: &CompositionNineGridBrush) -> ::windows::runtime::Result<Self>11436     fn try_from(value: &CompositionNineGridBrush) -> ::windows::runtime::Result<Self> {
11437         ::windows::runtime::Interface::cast(value)
11438     }
11439 }
11440 #[cfg(feature = "Foundation")]
11441 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>11442     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
11443         ::windows::runtime::IntoParam::into_param(&self)
11444     }
11445 }
11446 #[cfg(feature = "Foundation")]
11447 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>11448     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
11449         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
11450     }
11451 }
11452 impl ::std::convert::TryFrom<CompositionNineGridBrush> for IAnimationObject {
11453     type Error = ::windows::runtime::Error;
try_from(value: CompositionNineGridBrush) -> ::windows::runtime::Result<Self>11454     fn try_from(value: CompositionNineGridBrush) -> ::windows::runtime::Result<Self> {
11455         ::std::convert::TryFrom::try_from(&value)
11456     }
11457 }
11458 impl ::std::convert::TryFrom<&CompositionNineGridBrush> for IAnimationObject {
11459     type Error = ::windows::runtime::Error;
try_from(value: &CompositionNineGridBrush) -> ::windows::runtime::Result<Self>11460     fn try_from(value: &CompositionNineGridBrush) -> ::windows::runtime::Result<Self> {
11461         ::windows::runtime::Interface::cast(value)
11462     }
11463 }
11464 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>11465     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
11466         ::windows::runtime::IntoParam::into_param(&self)
11467     }
11468 }
11469 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>11470     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
11471         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
11472     }
11473 }
11474 impl ::std::convert::From<CompositionNineGridBrush> for CompositionBrush {
from(value: CompositionNineGridBrush) -> Self11475     fn from(value: CompositionNineGridBrush) -> Self {
11476         ::std::convert::Into::<CompositionBrush>::into(&value)
11477     }
11478 }
11479 impl ::std::convert::From<&CompositionNineGridBrush> for CompositionBrush {
from(value: &CompositionNineGridBrush) -> Self11480     fn from(value: &CompositionNineGridBrush) -> Self {
11481         ::windows::runtime::Interface::cast(value).unwrap()
11482     }
11483 }
11484 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>11485     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
11486         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(self))
11487     }
11488 }
11489 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for &CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>11490     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
11491         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(::std::clone::Clone::clone(self)))
11492     }
11493 }
11494 impl ::std::convert::From<CompositionNineGridBrush> for CompositionObject {
from(value: CompositionNineGridBrush) -> Self11495     fn from(value: CompositionNineGridBrush) -> Self {
11496         ::std::convert::Into::<CompositionObject>::into(&value)
11497     }
11498 }
11499 impl ::std::convert::From<&CompositionNineGridBrush> for CompositionObject {
from(value: &CompositionNineGridBrush) -> Self11500     fn from(value: &CompositionNineGridBrush) -> Self {
11501         ::windows::runtime::Interface::cast(value).unwrap()
11502     }
11503 }
11504 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>11505     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
11506         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
11507     }
11508 }
11509 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionNineGridBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>11510     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
11511         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
11512     }
11513 }
11514 unsafe impl ::std::marker::Send for CompositionNineGridBrush {}
11515 unsafe impl ::std::marker::Sync for CompositionNineGridBrush {}
11516 #[repr(transparent)]
11517 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11518 pub struct CompositionObject(::windows::runtime::IInspectable);
11519 impl CompositionObject {
11520     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>11521     pub fn Close(&self) -> ::windows::runtime::Result<()> {
11522         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
11523         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
11524     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>11525     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
11526         let this = self;
11527         unsafe {
11528             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11529             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
11530         }
11531     }
11532     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>11533     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
11534         let this = self;
11535         unsafe {
11536             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11537             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
11538         }
11539     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>11540     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
11541         let this = self;
11542         unsafe {
11543             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11544             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
11545         }
11546     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>11547     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
11548         let this = self;
11549         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
11550     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>11551     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
11552         let this = self;
11553         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
11554     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>11555     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
11556         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11557         unsafe {
11558             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
11559             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
11560         }
11561     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>11562     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11563         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11564         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11565     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>11566     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
11567         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11568         unsafe {
11569             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11570             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
11571         }
11572     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>11573     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11574         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11575         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11576     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>11577     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11578         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11579         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11580     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>11581     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11582         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11583         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11584     }
11585     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>11586     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
11587         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
11588         unsafe {
11589             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11590             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
11591         }
11592     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>11593     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
11594         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
11595         unsafe {
11596             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11597             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
11598         }
11599     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>11600     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
11601         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
11602         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
11603     }
StartAnimationWithIAnimationObject<'a, Param0: ::windows::runtime::IntoParam<'a, IAnimationObject>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(target: Param0, propertyname: Param1, animation: Param2) -> ::windows::runtime::Result<()>11604     pub fn StartAnimationWithIAnimationObject<'a, Param0: ::windows::runtime::IntoParam<'a, IAnimationObject>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(target: Param0, propertyname: Param1, animation: Param2) -> ::windows::runtime::Result<()> {
11605         Self::ICompositionObjectStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), target.into_param().abi(), propertyname.into_param().abi(), animation.into_param().abi()).ok() })
11606     }
StartAnimationGroupWithIAnimationObject<'a, Param0: ::windows::runtime::IntoParam<'a, IAnimationObject>, Param1: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(target: Param0, animation: Param1) -> ::windows::runtime::Result<()>11607     pub fn StartAnimationGroupWithIAnimationObject<'a, Param0: ::windows::runtime::IntoParam<'a, IAnimationObject>, Param1: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(target: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
11608         Self::ICompositionObjectStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), target.into_param().abi(), animation.into_param().abi()).ok() })
11609     }
ICompositionObjectStatics<R, F: FnOnce(&ICompositionObjectStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>11610     pub fn ICompositionObjectStatics<R, F: FnOnce(&ICompositionObjectStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
11611         static mut SHARED: ::windows::runtime::FactoryCache<CompositionObject, ICompositionObjectStatics> = ::windows::runtime::FactoryCache::new();
11612         unsafe { SHARED.call(callback) }
11613     }
11614 }
11615 unsafe impl ::windows::runtime::RuntimeType for CompositionObject {
11616     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionObject;{bcb4ad45-7609-4550-934f-16002a68fded})");
11617 }
11618 unsafe impl ::windows::runtime::Interface for CompositionObject {
11619     type Vtable = ICompositionObject_abi;
11620     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3165957445, 30217, 17744, [147, 79, 22, 0, 42, 104, 253, 237]);
11621 }
11622 impl ::windows::runtime::RuntimeName for CompositionObject {
11623     const NAME: &'static str = "Windows.UI.Composition.CompositionObject";
11624 }
11625 impl ::std::convert::From<CompositionObject> for ::windows::runtime::IUnknown {
from(value: CompositionObject) -> Self11626     fn from(value: CompositionObject) -> Self {
11627         unsafe { ::std::mem::transmute(value) }
11628     }
11629 }
11630 impl ::std::convert::From<&CompositionObject> for ::windows::runtime::IUnknown {
from(value: &CompositionObject) -> Self11631     fn from(value: &CompositionObject) -> Self {
11632         ::std::convert::From::from(::std::clone::Clone::clone(value))
11633     }
11634 }
11635 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11636     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11637         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11638     }
11639 }
11640 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11641     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11642         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11643     }
11644 }
11645 impl ::std::convert::From<CompositionObject> for ::windows::runtime::IInspectable {
from(value: CompositionObject) -> Self11646     fn from(value: CompositionObject) -> Self {
11647         value.0
11648     }
11649 }
11650 impl ::std::convert::From<&CompositionObject> for ::windows::runtime::IInspectable {
from(value: &CompositionObject) -> Self11651     fn from(value: &CompositionObject) -> Self {
11652         value.0.clone()
11653     }
11654 }
11655 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11656     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11657         ::windows::runtime::Param::Owned(self.0)
11658     }
11659 }
11660 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11661     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11662         ::windows::runtime::Param::Borrowed(&self.0)
11663     }
11664 }
11665 #[cfg(feature = "Foundation")]
11666 impl ::std::convert::TryFrom<CompositionObject> for super::super::Foundation::IClosable {
11667     type Error = ::windows::runtime::Error;
try_from(value: CompositionObject) -> ::windows::runtime::Result<Self>11668     fn try_from(value: CompositionObject) -> ::windows::runtime::Result<Self> {
11669         ::std::convert::TryFrom::try_from(&value)
11670     }
11671 }
11672 #[cfg(feature = "Foundation")]
11673 impl ::std::convert::TryFrom<&CompositionObject> for super::super::Foundation::IClosable {
11674     type Error = ::windows::runtime::Error;
try_from(value: &CompositionObject) -> ::windows::runtime::Result<Self>11675     fn try_from(value: &CompositionObject) -> ::windows::runtime::Result<Self> {
11676         ::windows::runtime::Interface::cast(value)
11677     }
11678 }
11679 #[cfg(feature = "Foundation")]
11680 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionObject {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>11681     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
11682         ::windows::runtime::IntoParam::into_param(&self)
11683     }
11684 }
11685 #[cfg(feature = "Foundation")]
11686 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionObject {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>11687     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
11688         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
11689     }
11690 }
11691 impl ::std::convert::TryFrom<CompositionObject> for IAnimationObject {
11692     type Error = ::windows::runtime::Error;
try_from(value: CompositionObject) -> ::windows::runtime::Result<Self>11693     fn try_from(value: CompositionObject) -> ::windows::runtime::Result<Self> {
11694         ::std::convert::TryFrom::try_from(&value)
11695     }
11696 }
11697 impl ::std::convert::TryFrom<&CompositionObject> for IAnimationObject {
11698     type Error = ::windows::runtime::Error;
try_from(value: &CompositionObject) -> ::windows::runtime::Result<Self>11699     fn try_from(value: &CompositionObject) -> ::windows::runtime::Result<Self> {
11700         ::windows::runtime::Interface::cast(value)
11701     }
11702 }
11703 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionObject {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>11704     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
11705         ::windows::runtime::IntoParam::into_param(&self)
11706     }
11707 }
11708 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionObject {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>11709     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
11710         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
11711     }
11712 }
11713 unsafe impl ::std::marker::Send for CompositionObject {}
11714 unsafe impl ::std::marker::Sync for CompositionObject {}
11715 #[repr(transparent)]
11716 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11717 pub struct CompositionPath(::windows::runtime::IInspectable);
11718 impl CompositionPath {
11719     #[cfg(feature = "Graphics")]
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::IGeometrySource2D>>(source: Param0) -> ::windows::runtime::Result<CompositionPath>11720     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::IGeometrySource2D>>(source: Param0) -> ::windows::runtime::Result<CompositionPath> {
11721         Self::ICompositionPathFactory(|this| unsafe {
11722             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11723             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), source.into_param().abi(), &mut result__).from_abi::<CompositionPath>(result__)
11724         })
11725     }
ICompositionPathFactory<R, F: FnOnce(&ICompositionPathFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>11726     pub fn ICompositionPathFactory<R, F: FnOnce(&ICompositionPathFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
11727         static mut SHARED: ::windows::runtime::FactoryCache<CompositionPath, ICompositionPathFactory> = ::windows::runtime::FactoryCache::new();
11728         unsafe { SHARED.call(callback) }
11729     }
11730 }
11731 unsafe impl ::windows::runtime::RuntimeType for CompositionPath {
11732     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionPath;{66da1d5f-2e10-4f22-8a06-0a8151919e60})");
11733 }
11734 unsafe impl ::windows::runtime::Interface for CompositionPath {
11735     type Vtable = ICompositionPath_abi;
11736     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1725570399, 11792, 20258, [138, 6, 10, 129, 81, 145, 158, 96]);
11737 }
11738 impl ::windows::runtime::RuntimeName for CompositionPath {
11739     const NAME: &'static str = "Windows.UI.Composition.CompositionPath";
11740 }
11741 impl ::std::convert::From<CompositionPath> for ::windows::runtime::IUnknown {
from(value: CompositionPath) -> Self11742     fn from(value: CompositionPath) -> Self {
11743         unsafe { ::std::mem::transmute(value) }
11744     }
11745 }
11746 impl ::std::convert::From<&CompositionPath> for ::windows::runtime::IUnknown {
from(value: &CompositionPath) -> Self11747     fn from(value: &CompositionPath) -> Self {
11748         ::std::convert::From::from(::std::clone::Clone::clone(value))
11749     }
11750 }
11751 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionPath {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11752     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11753         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11754     }
11755 }
11756 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionPath {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11757     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11758         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11759     }
11760 }
11761 impl ::std::convert::From<CompositionPath> for ::windows::runtime::IInspectable {
from(value: CompositionPath) -> Self11762     fn from(value: CompositionPath) -> Self {
11763         value.0
11764     }
11765 }
11766 impl ::std::convert::From<&CompositionPath> for ::windows::runtime::IInspectable {
from(value: &CompositionPath) -> Self11767     fn from(value: &CompositionPath) -> Self {
11768         value.0.clone()
11769     }
11770 }
11771 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionPath {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11772     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11773         ::windows::runtime::Param::Owned(self.0)
11774     }
11775 }
11776 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionPath {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11777     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11778         ::windows::runtime::Param::Borrowed(&self.0)
11779     }
11780 }
11781 #[cfg(feature = "Graphics")]
11782 impl ::std::convert::TryFrom<CompositionPath> for super::super::Graphics::IGeometrySource2D {
11783     type Error = ::windows::runtime::Error;
try_from(value: CompositionPath) -> ::windows::runtime::Result<Self>11784     fn try_from(value: CompositionPath) -> ::windows::runtime::Result<Self> {
11785         ::std::convert::TryFrom::try_from(&value)
11786     }
11787 }
11788 #[cfg(feature = "Graphics")]
11789 impl ::std::convert::TryFrom<&CompositionPath> for super::super::Graphics::IGeometrySource2D {
11790     type Error = ::windows::runtime::Error;
try_from(value: &CompositionPath) -> ::windows::runtime::Result<Self>11791     fn try_from(value: &CompositionPath) -> ::windows::runtime::Result<Self> {
11792         ::windows::runtime::Interface::cast(value)
11793     }
11794 }
11795 #[cfg(feature = "Graphics")]
11796 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Graphics::IGeometrySource2D> for CompositionPath {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Graphics::IGeometrySource2D>11797     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Graphics::IGeometrySource2D> {
11798         ::windows::runtime::IntoParam::into_param(&self)
11799     }
11800 }
11801 #[cfg(feature = "Graphics")]
11802 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Graphics::IGeometrySource2D> for &CompositionPath {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Graphics::IGeometrySource2D>11803     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Graphics::IGeometrySource2D> {
11804         ::std::convert::TryInto::<super::super::Graphics::IGeometrySource2D>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
11805     }
11806 }
11807 unsafe impl ::std::marker::Send for CompositionPath {}
11808 unsafe impl ::std::marker::Sync for CompositionPath {}
11809 #[repr(transparent)]
11810 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
11811 pub struct CompositionPathGeometry(::windows::runtime::IInspectable);
11812 impl CompositionPathGeometry {
Path(&self) -> ::windows::runtime::Result<CompositionPath>11813     pub fn Path(&self) -> ::windows::runtime::Result<CompositionPath> {
11814         let this = self;
11815         unsafe {
11816             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11817             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPath>(result__)
11818         }
11819     }
SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionPath>>(&self, value: Param0) -> ::windows::runtime::Result<()>11820     pub fn SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionPath>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11821         let this = self;
11822         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11823     }
11824     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>11825     pub fn Close(&self) -> ::windows::runtime::Result<()> {
11826         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
11827         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
11828     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>11829     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
11830         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11831         unsafe {
11832             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11833             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
11834         }
11835     }
11836     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>11837     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
11838         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11839         unsafe {
11840             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11841             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
11842         }
11843     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>11844     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
11845         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11846         unsafe {
11847             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11848             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
11849         }
11850     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>11851     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
11852         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11853         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
11854     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>11855     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
11856         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
11857         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
11858     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>11859     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
11860         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11861         unsafe {
11862             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
11863             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
11864         }
11865     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>11866     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11867         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11868         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11869     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>11870     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
11871         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11872         unsafe {
11873             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11874             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
11875         }
11876     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>11877     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11878         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11879         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11880     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>11881     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11882         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11883         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11884     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>11885     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
11886         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
11887         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
11888     }
11889     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>11890     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
11891         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
11892         unsafe {
11893             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11894             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
11895         }
11896     }
TrimEnd(&self) -> ::windows::runtime::Result<f32>11897     pub fn TrimEnd(&self) -> ::windows::runtime::Result<f32> {
11898         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
11899         unsafe {
11900             let mut result__: f32 = ::std::mem::zeroed();
11901             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11902         }
11903     }
SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()>11904     pub fn SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()> {
11905         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
11906         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
11907     }
TrimOffset(&self) -> ::windows::runtime::Result<f32>11908     pub fn TrimOffset(&self) -> ::windows::runtime::Result<f32> {
11909         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
11910         unsafe {
11911             let mut result__: f32 = ::std::mem::zeroed();
11912             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11913         }
11914     }
SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()>11915     pub fn SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()> {
11916         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
11917         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
11918     }
TrimStart(&self) -> ::windows::runtime::Result<f32>11919     pub fn TrimStart(&self) -> ::windows::runtime::Result<f32> {
11920         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
11921         unsafe {
11922             let mut result__: f32 = ::std::mem::zeroed();
11923             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
11924         }
11925     }
SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()>11926     pub fn SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()> {
11927         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
11928         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
11929     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>11930     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
11931         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
11932         unsafe {
11933             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
11934             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
11935         }
11936     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>11937     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
11938         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
11939         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
11940     }
11941 }
11942 unsafe impl ::windows::runtime::RuntimeType for CompositionPathGeometry {
11943     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionPathGeometry;{0b6a417e-2c77-4c23-af5e-6304c147bb61})");
11944 }
11945 unsafe impl ::windows::runtime::Interface for CompositionPathGeometry {
11946     type Vtable = ICompositionPathGeometry_abi;
11947     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(191512958, 11383, 19491, [175, 94, 99, 4, 193, 71, 187, 97]);
11948 }
11949 impl ::windows::runtime::RuntimeName for CompositionPathGeometry {
11950     const NAME: &'static str = "Windows.UI.Composition.CompositionPathGeometry";
11951 }
11952 impl ::std::convert::From<CompositionPathGeometry> for ::windows::runtime::IUnknown {
from(value: CompositionPathGeometry) -> Self11953     fn from(value: CompositionPathGeometry) -> Self {
11954         unsafe { ::std::mem::transmute(value) }
11955     }
11956 }
11957 impl ::std::convert::From<&CompositionPathGeometry> for ::windows::runtime::IUnknown {
from(value: &CompositionPathGeometry) -> Self11958     fn from(value: &CompositionPathGeometry) -> Self {
11959         ::std::convert::From::from(::std::clone::Clone::clone(value))
11960     }
11961 }
11962 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11963     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11964         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
11965     }
11966 }
11967 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>11968     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
11969         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
11970     }
11971 }
11972 impl ::std::convert::From<CompositionPathGeometry> for ::windows::runtime::IInspectable {
from(value: CompositionPathGeometry) -> Self11973     fn from(value: CompositionPathGeometry) -> Self {
11974         value.0
11975     }
11976 }
11977 impl ::std::convert::From<&CompositionPathGeometry> for ::windows::runtime::IInspectable {
from(value: &CompositionPathGeometry) -> Self11978     fn from(value: &CompositionPathGeometry) -> Self {
11979         value.0.clone()
11980     }
11981 }
11982 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11983     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11984         ::windows::runtime::Param::Owned(self.0)
11985     }
11986 }
11987 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>11988     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
11989         ::windows::runtime::Param::Borrowed(&self.0)
11990     }
11991 }
11992 #[cfg(feature = "Foundation")]
11993 impl ::std::convert::TryFrom<CompositionPathGeometry> for super::super::Foundation::IClosable {
11994     type Error = ::windows::runtime::Error;
try_from(value: CompositionPathGeometry) -> ::windows::runtime::Result<Self>11995     fn try_from(value: CompositionPathGeometry) -> ::windows::runtime::Result<Self> {
11996         ::std::convert::TryFrom::try_from(&value)
11997     }
11998 }
11999 #[cfg(feature = "Foundation")]
12000 impl ::std::convert::TryFrom<&CompositionPathGeometry> for super::super::Foundation::IClosable {
12001     type Error = ::windows::runtime::Error;
try_from(value: &CompositionPathGeometry) -> ::windows::runtime::Result<Self>12002     fn try_from(value: &CompositionPathGeometry) -> ::windows::runtime::Result<Self> {
12003         ::windows::runtime::Interface::cast(value)
12004     }
12005 }
12006 #[cfg(feature = "Foundation")]
12007 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>12008     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
12009         ::windows::runtime::IntoParam::into_param(&self)
12010     }
12011 }
12012 #[cfg(feature = "Foundation")]
12013 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>12014     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
12015         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
12016     }
12017 }
12018 impl ::std::convert::TryFrom<CompositionPathGeometry> for IAnimationObject {
12019     type Error = ::windows::runtime::Error;
try_from(value: CompositionPathGeometry) -> ::windows::runtime::Result<Self>12020     fn try_from(value: CompositionPathGeometry) -> ::windows::runtime::Result<Self> {
12021         ::std::convert::TryFrom::try_from(&value)
12022     }
12023 }
12024 impl ::std::convert::TryFrom<&CompositionPathGeometry> for IAnimationObject {
12025     type Error = ::windows::runtime::Error;
try_from(value: &CompositionPathGeometry) -> ::windows::runtime::Result<Self>12026     fn try_from(value: &CompositionPathGeometry) -> ::windows::runtime::Result<Self> {
12027         ::windows::runtime::Interface::cast(value)
12028     }
12029 }
12030 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>12031     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
12032         ::windows::runtime::IntoParam::into_param(&self)
12033     }
12034 }
12035 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>12036     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
12037         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
12038     }
12039 }
12040 impl ::std::convert::From<CompositionPathGeometry> for CompositionGeometry {
from(value: CompositionPathGeometry) -> Self12041     fn from(value: CompositionPathGeometry) -> Self {
12042         ::std::convert::Into::<CompositionGeometry>::into(&value)
12043     }
12044 }
12045 impl ::std::convert::From<&CompositionPathGeometry> for CompositionGeometry {
from(value: &CompositionPathGeometry) -> Self12046     fn from(value: &CompositionPathGeometry) -> Self {
12047         ::windows::runtime::Interface::cast(value).unwrap()
12048     }
12049 }
12050 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>12051     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
12052         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(self))
12053     }
12054 }
12055 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for &CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>12056     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
12057         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(::std::clone::Clone::clone(self)))
12058     }
12059 }
12060 impl ::std::convert::From<CompositionPathGeometry> for CompositionObject {
from(value: CompositionPathGeometry) -> Self12061     fn from(value: CompositionPathGeometry) -> Self {
12062         ::std::convert::Into::<CompositionObject>::into(&value)
12063     }
12064 }
12065 impl ::std::convert::From<&CompositionPathGeometry> for CompositionObject {
from(value: &CompositionPathGeometry) -> Self12066     fn from(value: &CompositionPathGeometry) -> Self {
12067         ::windows::runtime::Interface::cast(value).unwrap()
12068     }
12069 }
12070 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>12071     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
12072         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
12073     }
12074 }
12075 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionPathGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>12076     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
12077         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
12078     }
12079 }
12080 unsafe impl ::std::marker::Send for CompositionPathGeometry {}
12081 unsafe impl ::std::marker::Sync for CompositionPathGeometry {}
12082 #[repr(transparent)]
12083 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12084 pub struct CompositionProjectedShadow(::windows::runtime::IInspectable);
12085 impl CompositionProjectedShadow {
BlurRadiusMultiplier(&self) -> ::windows::runtime::Result<f32>12086     pub fn BlurRadiusMultiplier(&self) -> ::windows::runtime::Result<f32> {
12087         let this = self;
12088         unsafe {
12089             let mut result__: f32 = ::std::mem::zeroed();
12090             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
12091         }
12092     }
SetBlurRadiusMultiplier(&self, value: f32) -> ::windows::runtime::Result<()>12093     pub fn SetBlurRadiusMultiplier(&self, value: f32) -> ::windows::runtime::Result<()> {
12094         let this = self;
12095         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
12096     }
Casters(&self) -> ::windows::runtime::Result<CompositionProjectedShadowCasterCollection>12097     pub fn Casters(&self) -> ::windows::runtime::Result<CompositionProjectedShadowCasterCollection> {
12098         let this = self;
12099         unsafe {
12100             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12101             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionProjectedShadowCasterCollection>(result__)
12102         }
12103     }
LightSource(&self) -> ::windows::runtime::Result<CompositionLight>12104     pub fn LightSource(&self) -> ::windows::runtime::Result<CompositionLight> {
12105         let this = self;
12106         unsafe {
12107             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12108             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionLight>(result__)
12109         }
12110     }
SetLightSource<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionLight>>(&self, value: Param0) -> ::windows::runtime::Result<()>12111     pub fn SetLightSource<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionLight>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12112         let this = self;
12113         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12114     }
MaxBlurRadius(&self) -> ::windows::runtime::Result<f32>12115     pub fn MaxBlurRadius(&self) -> ::windows::runtime::Result<f32> {
12116         let this = self;
12117         unsafe {
12118             let mut result__: f32 = ::std::mem::zeroed();
12119             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
12120         }
12121     }
SetMaxBlurRadius(&self, value: f32) -> ::windows::runtime::Result<()>12122     pub fn SetMaxBlurRadius(&self, value: f32) -> ::windows::runtime::Result<()> {
12123         let this = self;
12124         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() }
12125     }
MinBlurRadius(&self) -> ::windows::runtime::Result<f32>12126     pub fn MinBlurRadius(&self) -> ::windows::runtime::Result<f32> {
12127         let this = self;
12128         unsafe {
12129             let mut result__: f32 = ::std::mem::zeroed();
12130             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
12131         }
12132     }
SetMinBlurRadius(&self, value: f32) -> ::windows::runtime::Result<()>12133     pub fn SetMinBlurRadius(&self, value: f32) -> ::windows::runtime::Result<()> {
12134         let this = self;
12135         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value).ok() }
12136     }
Receivers(&self) -> ::windows::runtime::Result<CompositionProjectedShadowReceiverUnorderedCollection>12137     pub fn Receivers(&self) -> ::windows::runtime::Result<CompositionProjectedShadowReceiverUnorderedCollection> {
12138         let this = self;
12139         unsafe {
12140             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12141             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionProjectedShadowReceiverUnorderedCollection>(result__)
12142         }
12143     }
12144     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>12145     pub fn Close(&self) -> ::windows::runtime::Result<()> {
12146         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
12147         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
12148     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>12149     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
12150         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12151         unsafe {
12152             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12153             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
12154         }
12155     }
12156     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>12157     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
12158         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12159         unsafe {
12160             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12161             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
12162         }
12163     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>12164     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
12165         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12166         unsafe {
12167             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12168             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
12169         }
12170     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>12171     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
12172         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12173         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
12174     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>12175     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
12176         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12177         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
12178     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>12179     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
12180         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12181         unsafe {
12182             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
12183             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
12184         }
12185     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>12186     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12187         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12188         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12189     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>12190     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
12191         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12192         unsafe {
12193             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12194             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
12195         }
12196     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>12197     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12198         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12199         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12200     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>12201     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12202         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12203         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12204     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>12205     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12206         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12207         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12208     }
12209     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>12210     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
12211         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
12212         unsafe {
12213             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12214             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
12215         }
12216     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>12217     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
12218         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
12219         unsafe {
12220             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12221             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
12222         }
12223     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>12224     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
12225         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
12226         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
12227     }
12228 }
12229 unsafe impl ::windows::runtime::RuntimeType for CompositionProjectedShadow {
12230     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadow;{285b8e72-4328-523f-bcf2-5557c52c3b25})");
12231 }
12232 unsafe impl ::windows::runtime::Interface for CompositionProjectedShadow {
12233     type Vtable = ICompositionProjectedShadow_abi;
12234     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(677088882, 17192, 21055, [188, 242, 85, 87, 197, 44, 59, 37]);
12235 }
12236 impl ::windows::runtime::RuntimeName for CompositionProjectedShadow {
12237     const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadow";
12238 }
12239 impl ::std::convert::From<CompositionProjectedShadow> for ::windows::runtime::IUnknown {
from(value: CompositionProjectedShadow) -> Self12240     fn from(value: CompositionProjectedShadow) -> Self {
12241         unsafe { ::std::mem::transmute(value) }
12242     }
12243 }
12244 impl ::std::convert::From<&CompositionProjectedShadow> for ::windows::runtime::IUnknown {
from(value: &CompositionProjectedShadow) -> Self12245     fn from(value: &CompositionProjectedShadow) -> Self {
12246         ::std::convert::From::from(::std::clone::Clone::clone(value))
12247     }
12248 }
12249 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>12250     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12251         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
12252     }
12253 }
12254 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>12255     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12256         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
12257     }
12258 }
12259 impl ::std::convert::From<CompositionProjectedShadow> for ::windows::runtime::IInspectable {
from(value: CompositionProjectedShadow) -> Self12260     fn from(value: CompositionProjectedShadow) -> Self {
12261         value.0
12262     }
12263 }
12264 impl ::std::convert::From<&CompositionProjectedShadow> for ::windows::runtime::IInspectable {
from(value: &CompositionProjectedShadow) -> Self12265     fn from(value: &CompositionProjectedShadow) -> Self {
12266         value.0.clone()
12267     }
12268 }
12269 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>12270     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
12271         ::windows::runtime::Param::Owned(self.0)
12272     }
12273 }
12274 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>12275     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
12276         ::windows::runtime::Param::Borrowed(&self.0)
12277     }
12278 }
12279 #[cfg(feature = "Foundation")]
12280 impl ::std::convert::TryFrom<CompositionProjectedShadow> for super::super::Foundation::IClosable {
12281     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadow) -> ::windows::runtime::Result<Self>12282     fn try_from(value: CompositionProjectedShadow) -> ::windows::runtime::Result<Self> {
12283         ::std::convert::TryFrom::try_from(&value)
12284     }
12285 }
12286 #[cfg(feature = "Foundation")]
12287 impl ::std::convert::TryFrom<&CompositionProjectedShadow> for super::super::Foundation::IClosable {
12288     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadow) -> ::windows::runtime::Result<Self>12289     fn try_from(value: &CompositionProjectedShadow) -> ::windows::runtime::Result<Self> {
12290         ::windows::runtime::Interface::cast(value)
12291     }
12292 }
12293 #[cfg(feature = "Foundation")]
12294 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>12295     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
12296         ::windows::runtime::IntoParam::into_param(&self)
12297     }
12298 }
12299 #[cfg(feature = "Foundation")]
12300 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>12301     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
12302         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
12303     }
12304 }
12305 impl ::std::convert::TryFrom<CompositionProjectedShadow> for IAnimationObject {
12306     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadow) -> ::windows::runtime::Result<Self>12307     fn try_from(value: CompositionProjectedShadow) -> ::windows::runtime::Result<Self> {
12308         ::std::convert::TryFrom::try_from(&value)
12309     }
12310 }
12311 impl ::std::convert::TryFrom<&CompositionProjectedShadow> for IAnimationObject {
12312     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadow) -> ::windows::runtime::Result<Self>12313     fn try_from(value: &CompositionProjectedShadow) -> ::windows::runtime::Result<Self> {
12314         ::windows::runtime::Interface::cast(value)
12315     }
12316 }
12317 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>12318     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
12319         ::windows::runtime::IntoParam::into_param(&self)
12320     }
12321 }
12322 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>12323     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
12324         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
12325     }
12326 }
12327 impl ::std::convert::From<CompositionProjectedShadow> for CompositionObject {
from(value: CompositionProjectedShadow) -> Self12328     fn from(value: CompositionProjectedShadow) -> Self {
12329         ::std::convert::Into::<CompositionObject>::into(&value)
12330     }
12331 }
12332 impl ::std::convert::From<&CompositionProjectedShadow> for CompositionObject {
from(value: &CompositionProjectedShadow) -> Self12333     fn from(value: &CompositionProjectedShadow) -> Self {
12334         ::windows::runtime::Interface::cast(value).unwrap()
12335     }
12336 }
12337 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>12338     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
12339         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
12340     }
12341 }
12342 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionProjectedShadow {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>12343     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
12344         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
12345     }
12346 }
12347 unsafe impl ::std::marker::Send for CompositionProjectedShadow {}
12348 unsafe impl ::std::marker::Sync for CompositionProjectedShadow {}
12349 #[repr(transparent)]
12350 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12351 pub struct CompositionProjectedShadowCaster(::windows::runtime::IInspectable);
12352 impl CompositionProjectedShadowCaster {
Brush(&self) -> ::windows::runtime::Result<CompositionBrush>12353     pub fn Brush(&self) -> ::windows::runtime::Result<CompositionBrush> {
12354         let this = self;
12355         unsafe {
12356             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12357             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBrush>(result__)
12358         }
12359     }
SetBrush<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>12360     pub fn SetBrush<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12361         let this = self;
12362         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12363     }
CastingVisual(&self) -> ::windows::runtime::Result<Visual>12364     pub fn CastingVisual(&self) -> ::windows::runtime::Result<Visual> {
12365         let this = self;
12366         unsafe {
12367             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12368             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
12369         }
12370     }
SetCastingVisual<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>12371     pub fn SetCastingVisual<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12372         let this = self;
12373         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12374     }
12375     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>12376     pub fn Close(&self) -> ::windows::runtime::Result<()> {
12377         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
12378         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
12379     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>12380     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
12381         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12382         unsafe {
12383             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12384             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
12385         }
12386     }
12387     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>12388     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
12389         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12390         unsafe {
12391             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12392             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
12393         }
12394     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>12395     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
12396         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12397         unsafe {
12398             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12399             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
12400         }
12401     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>12402     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
12403         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12404         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
12405     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>12406     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
12407         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12408         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
12409     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>12410     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
12411         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12412         unsafe {
12413             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
12414             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
12415         }
12416     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>12417     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12418         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12419         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12420     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>12421     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
12422         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12423         unsafe {
12424             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12425             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
12426         }
12427     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>12428     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12429         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12430         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12431     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>12432     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12433         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12434         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12435     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>12436     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12437         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12438         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12439     }
12440     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>12441     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
12442         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
12443         unsafe {
12444             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12445             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
12446         }
12447     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>12448     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
12449         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
12450         unsafe {
12451             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12452             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
12453         }
12454     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>12455     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
12456         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
12457         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
12458     }
12459 }
12460 unsafe impl ::windows::runtime::RuntimeType for CompositionProjectedShadowCaster {
12461     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadowCaster;{b1d7d426-1e36-5a62-be56-a16112fdd148})");
12462 }
12463 unsafe impl ::windows::runtime::Interface for CompositionProjectedShadowCaster {
12464     type Vtable = ICompositionProjectedShadowCaster_abi;
12465     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2983711782, 7734, 23138, [190, 86, 161, 97, 18, 253, 209, 72]);
12466 }
12467 impl ::windows::runtime::RuntimeName for CompositionProjectedShadowCaster {
12468     const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadowCaster";
12469 }
12470 impl ::std::convert::From<CompositionProjectedShadowCaster> for ::windows::runtime::IUnknown {
from(value: CompositionProjectedShadowCaster) -> Self12471     fn from(value: CompositionProjectedShadowCaster) -> Self {
12472         unsafe { ::std::mem::transmute(value) }
12473     }
12474 }
12475 impl ::std::convert::From<&CompositionProjectedShadowCaster> for ::windows::runtime::IUnknown {
from(value: &CompositionProjectedShadowCaster) -> Self12476     fn from(value: &CompositionProjectedShadowCaster) -> Self {
12477         ::std::convert::From::from(::std::clone::Clone::clone(value))
12478     }
12479 }
12480 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>12481     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12482         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
12483     }
12484 }
12485 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>12486     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12487         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
12488     }
12489 }
12490 impl ::std::convert::From<CompositionProjectedShadowCaster> for ::windows::runtime::IInspectable {
from(value: CompositionProjectedShadowCaster) -> Self12491     fn from(value: CompositionProjectedShadowCaster) -> Self {
12492         value.0
12493     }
12494 }
12495 impl ::std::convert::From<&CompositionProjectedShadowCaster> for ::windows::runtime::IInspectable {
from(value: &CompositionProjectedShadowCaster) -> Self12496     fn from(value: &CompositionProjectedShadowCaster) -> Self {
12497         value.0.clone()
12498     }
12499 }
12500 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>12501     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
12502         ::windows::runtime::Param::Owned(self.0)
12503     }
12504 }
12505 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>12506     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
12507         ::windows::runtime::Param::Borrowed(&self.0)
12508     }
12509 }
12510 #[cfg(feature = "Foundation")]
12511 impl ::std::convert::TryFrom<CompositionProjectedShadowCaster> for super::super::Foundation::IClosable {
12512     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowCaster) -> ::windows::runtime::Result<Self>12513     fn try_from(value: CompositionProjectedShadowCaster) -> ::windows::runtime::Result<Self> {
12514         ::std::convert::TryFrom::try_from(&value)
12515     }
12516 }
12517 #[cfg(feature = "Foundation")]
12518 impl ::std::convert::TryFrom<&CompositionProjectedShadowCaster> for super::super::Foundation::IClosable {
12519     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowCaster) -> ::windows::runtime::Result<Self>12520     fn try_from(value: &CompositionProjectedShadowCaster) -> ::windows::runtime::Result<Self> {
12521         ::windows::runtime::Interface::cast(value)
12522     }
12523 }
12524 #[cfg(feature = "Foundation")]
12525 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>12526     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
12527         ::windows::runtime::IntoParam::into_param(&self)
12528     }
12529 }
12530 #[cfg(feature = "Foundation")]
12531 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>12532     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
12533         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
12534     }
12535 }
12536 impl ::std::convert::TryFrom<CompositionProjectedShadowCaster> for IAnimationObject {
12537     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowCaster) -> ::windows::runtime::Result<Self>12538     fn try_from(value: CompositionProjectedShadowCaster) -> ::windows::runtime::Result<Self> {
12539         ::std::convert::TryFrom::try_from(&value)
12540     }
12541 }
12542 impl ::std::convert::TryFrom<&CompositionProjectedShadowCaster> for IAnimationObject {
12543     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowCaster) -> ::windows::runtime::Result<Self>12544     fn try_from(value: &CompositionProjectedShadowCaster) -> ::windows::runtime::Result<Self> {
12545         ::windows::runtime::Interface::cast(value)
12546     }
12547 }
12548 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>12549     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
12550         ::windows::runtime::IntoParam::into_param(&self)
12551     }
12552 }
12553 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>12554     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
12555         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
12556     }
12557 }
12558 impl ::std::convert::From<CompositionProjectedShadowCaster> for CompositionObject {
from(value: CompositionProjectedShadowCaster) -> Self12559     fn from(value: CompositionProjectedShadowCaster) -> Self {
12560         ::std::convert::Into::<CompositionObject>::into(&value)
12561     }
12562 }
12563 impl ::std::convert::From<&CompositionProjectedShadowCaster> for CompositionObject {
from(value: &CompositionProjectedShadowCaster) -> Self12564     fn from(value: &CompositionProjectedShadowCaster) -> Self {
12565         ::windows::runtime::Interface::cast(value).unwrap()
12566     }
12567 }
12568 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>12569     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
12570         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
12571     }
12572 }
12573 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionProjectedShadowCaster {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>12574     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
12575         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
12576     }
12577 }
12578 unsafe impl ::std::marker::Send for CompositionProjectedShadowCaster {}
12579 unsafe impl ::std::marker::Sync for CompositionProjectedShadowCaster {}
12580 #[repr(transparent)]
12581 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12582 pub struct CompositionProjectedShadowCasterCollection(::windows::runtime::IInspectable);
12583 impl CompositionProjectedShadowCasterCollection {
12584     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowCaster>>12585     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowCaster>> {
12586         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>>(self)?;
12587         unsafe {
12588             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12589             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowCaster>>(result__)
12590         }
12591     }
Count(&self) -> ::windows::runtime::Result<i32>12592     pub fn Count(&self) -> ::windows::runtime::Result<i32> {
12593         let this = self;
12594         unsafe {
12595             let mut result__: i32 = ::std::mem::zeroed();
12596             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
12597         }
12598     }
InsertAbove<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>, Param1: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, newcaster: Param0, reference: Param1) -> ::windows::runtime::Result<()>12599     pub fn InsertAbove<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>, Param1: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, newcaster: Param0, reference: Param1) -> ::windows::runtime::Result<()> {
12600         let this = self;
12601         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), newcaster.into_param().abi(), reference.into_param().abi()).ok() }
12602     }
InsertAtBottom<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, newcaster: Param0) -> ::windows::runtime::Result<()>12603     pub fn InsertAtBottom<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, newcaster: Param0) -> ::windows::runtime::Result<()> {
12604         let this = self;
12605         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), newcaster.into_param().abi()).ok() }
12606     }
InsertAtTop<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, newcaster: Param0) -> ::windows::runtime::Result<()>12607     pub fn InsertAtTop<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, newcaster: Param0) -> ::windows::runtime::Result<()> {
12608         let this = self;
12609         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), newcaster.into_param().abi()).ok() }
12610     }
InsertBelow<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>, Param1: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, newcaster: Param0, reference: Param1) -> ::windows::runtime::Result<()>12611     pub fn InsertBelow<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>, Param1: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, newcaster: Param0, reference: Param1) -> ::windows::runtime::Result<()> {
12612         let this = self;
12613         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), newcaster.into_param().abi(), reference.into_param().abi()).ok() }
12614     }
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, caster: Param0) -> ::windows::runtime::Result<()>12615     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowCaster>>(&self, caster: Param0) -> ::windows::runtime::Result<()> {
12616         let this = self;
12617         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), caster.into_param().abi()).ok() }
12618     }
RemoveAll(&self) -> ::windows::runtime::Result<()>12619     pub fn RemoveAll(&self) -> ::windows::runtime::Result<()> {
12620         let this = self;
12621         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
12622     }
MaxRespectedCasters() -> ::windows::runtime::Result<i32>12623     pub fn MaxRespectedCasters() -> ::windows::runtime::Result<i32> {
12624         Self::ICompositionProjectedShadowCasterCollectionStatics(|this| unsafe {
12625             let mut result__: i32 = ::std::mem::zeroed();
12626             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
12627         })
12628     }
12629     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>12630     pub fn Close(&self) -> ::windows::runtime::Result<()> {
12631         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
12632         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
12633     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>12634     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
12635         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12636         unsafe {
12637             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12638             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
12639         }
12640     }
12641     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>12642     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
12643         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12644         unsafe {
12645             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12646             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
12647         }
12648     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>12649     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
12650         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12651         unsafe {
12652             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12653             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
12654         }
12655     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>12656     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
12657         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12658         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
12659     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>12660     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
12661         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12662         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
12663     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>12664     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
12665         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12666         unsafe {
12667             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
12668             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
12669         }
12670     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>12671     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12672         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12673         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12674     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>12675     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
12676         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12677         unsafe {
12678             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12679             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
12680         }
12681     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>12682     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12683         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12684         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12685     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>12686     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12687         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12688         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12689     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>12690     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12691         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12692         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12693     }
12694     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>12695     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
12696         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
12697         unsafe {
12698             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12699             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
12700         }
12701     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>12702     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
12703         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
12704         unsafe {
12705             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12706             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
12707         }
12708     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>12709     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
12710         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
12711         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
12712     }
ICompositionProjectedShadowCasterCollectionStatics<R, F: FnOnce(&ICompositionProjectedShadowCasterCollectionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>12713     pub fn ICompositionProjectedShadowCasterCollectionStatics<R, F: FnOnce(&ICompositionProjectedShadowCasterCollectionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
12714         static mut SHARED: ::windows::runtime::FactoryCache<CompositionProjectedShadowCasterCollection, ICompositionProjectedShadowCasterCollectionStatics> = ::windows::runtime::FactoryCache::new();
12715         unsafe { SHARED.call(callback) }
12716     }
12717 }
12718 unsafe impl ::windows::runtime::RuntimeType for CompositionProjectedShadowCasterCollection {
12719     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadowCasterCollection;{d2525c0c-e07f-58a3-ac91-37f73ee91740})");
12720 }
12721 unsafe impl ::windows::runtime::Interface for CompositionProjectedShadowCasterCollection {
12722     type Vtable = ICompositionProjectedShadowCasterCollection_abi;
12723     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3528612876, 57471, 22691, [172, 145, 55, 247, 62, 233, 23, 64]);
12724 }
12725 impl ::windows::runtime::RuntimeName for CompositionProjectedShadowCasterCollection {
12726     const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadowCasterCollection";
12727 }
12728 impl ::std::convert::From<CompositionProjectedShadowCasterCollection> for ::windows::runtime::IUnknown {
from(value: CompositionProjectedShadowCasterCollection) -> Self12729     fn from(value: CompositionProjectedShadowCasterCollection) -> Self {
12730         unsafe { ::std::mem::transmute(value) }
12731     }
12732 }
12733 impl ::std::convert::From<&CompositionProjectedShadowCasterCollection> for ::windows::runtime::IUnknown {
from(value: &CompositionProjectedShadowCasterCollection) -> Self12734     fn from(value: &CompositionProjectedShadowCasterCollection) -> Self {
12735         ::std::convert::From::from(::std::clone::Clone::clone(value))
12736     }
12737 }
12738 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>12739     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12740         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
12741     }
12742 }
12743 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>12744     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
12745         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
12746     }
12747 }
12748 impl ::std::convert::From<CompositionProjectedShadowCasterCollection> for ::windows::runtime::IInspectable {
from(value: CompositionProjectedShadowCasterCollection) -> Self12749     fn from(value: CompositionProjectedShadowCasterCollection) -> Self {
12750         value.0
12751     }
12752 }
12753 impl ::std::convert::From<&CompositionProjectedShadowCasterCollection> for ::windows::runtime::IInspectable {
from(value: &CompositionProjectedShadowCasterCollection) -> Self12754     fn from(value: &CompositionProjectedShadowCasterCollection) -> Self {
12755         value.0.clone()
12756     }
12757 }
12758 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>12759     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
12760         ::windows::runtime::Param::Owned(self.0)
12761     }
12762 }
12763 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>12764     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
12765         ::windows::runtime::Param::Borrowed(&self.0)
12766     }
12767 }
12768 #[cfg(feature = "Foundation_Collections")]
12769 impl ::std::convert::TryFrom<CompositionProjectedShadowCasterCollection> for super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster> {
12770     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self>12771     fn try_from(value: CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self> {
12772         ::std::convert::TryFrom::try_from(&value)
12773     }
12774 }
12775 #[cfg(feature = "Foundation_Collections")]
12776 impl ::std::convert::TryFrom<&CompositionProjectedShadowCasterCollection> for super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster> {
12777     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self>12778     fn try_from(value: &CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self> {
12779         ::windows::runtime::Interface::cast(value)
12780     }
12781 }
12782 #[cfg(feature = "Foundation_Collections")]
12783 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>> for CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>>12784     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>> {
12785         ::windows::runtime::IntoParam::into_param(&self)
12786     }
12787 }
12788 #[cfg(feature = "Foundation_Collections")]
12789 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>> for &CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>>12790     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>> {
12791         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<CompositionProjectedShadowCaster>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
12792     }
12793 }
12794 #[cfg(feature = "Foundation")]
12795 impl ::std::convert::TryFrom<CompositionProjectedShadowCasterCollection> for super::super::Foundation::IClosable {
12796     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self>12797     fn try_from(value: CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self> {
12798         ::std::convert::TryFrom::try_from(&value)
12799     }
12800 }
12801 #[cfg(feature = "Foundation")]
12802 impl ::std::convert::TryFrom<&CompositionProjectedShadowCasterCollection> for super::super::Foundation::IClosable {
12803     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self>12804     fn try_from(value: &CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self> {
12805         ::windows::runtime::Interface::cast(value)
12806     }
12807 }
12808 #[cfg(feature = "Foundation")]
12809 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>12810     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
12811         ::windows::runtime::IntoParam::into_param(&self)
12812     }
12813 }
12814 #[cfg(feature = "Foundation")]
12815 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>12816     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
12817         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
12818     }
12819 }
12820 impl ::std::convert::TryFrom<CompositionProjectedShadowCasterCollection> for IAnimationObject {
12821     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self>12822     fn try_from(value: CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self> {
12823         ::std::convert::TryFrom::try_from(&value)
12824     }
12825 }
12826 impl ::std::convert::TryFrom<&CompositionProjectedShadowCasterCollection> for IAnimationObject {
12827     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self>12828     fn try_from(value: &CompositionProjectedShadowCasterCollection) -> ::windows::runtime::Result<Self> {
12829         ::windows::runtime::Interface::cast(value)
12830     }
12831 }
12832 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>12833     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
12834         ::windows::runtime::IntoParam::into_param(&self)
12835     }
12836 }
12837 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>12838     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
12839         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
12840     }
12841 }
12842 impl ::std::convert::From<CompositionProjectedShadowCasterCollection> for CompositionObject {
from(value: CompositionProjectedShadowCasterCollection) -> Self12843     fn from(value: CompositionProjectedShadowCasterCollection) -> Self {
12844         ::std::convert::Into::<CompositionObject>::into(&value)
12845     }
12846 }
12847 impl ::std::convert::From<&CompositionProjectedShadowCasterCollection> for CompositionObject {
from(value: &CompositionProjectedShadowCasterCollection) -> Self12848     fn from(value: &CompositionProjectedShadowCasterCollection) -> Self {
12849         ::windows::runtime::Interface::cast(value).unwrap()
12850     }
12851 }
12852 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>12853     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
12854         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
12855     }
12856 }
12857 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionProjectedShadowCasterCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>12858     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
12859         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
12860     }
12861 }
12862 unsafe impl ::std::marker::Send for CompositionProjectedShadowCasterCollection {}
12863 unsafe impl ::std::marker::Sync for CompositionProjectedShadowCasterCollection {}
12864 #[cfg(all(feature = "Foundation_Collections"))]
12865 impl ::std::iter::IntoIterator for CompositionProjectedShadowCasterCollection {
12866     type Item = CompositionProjectedShadowCaster;
12867     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter12868     fn into_iter(self) -> Self::IntoIter {
12869         ::std::iter::IntoIterator::into_iter(&self)
12870     }
12871 }
12872 #[cfg(all(feature = "Foundation_Collections"))]
12873 impl ::std::iter::IntoIterator for &CompositionProjectedShadowCasterCollection {
12874     type Item = CompositionProjectedShadowCaster;
12875     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter12876     fn into_iter(self) -> Self::IntoIter {
12877         self.First().unwrap()
12878     }
12879 }
12880 #[repr(transparent)]
12881 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12882 pub struct CompositionProjectedShadowReceiver(::windows::runtime::IInspectable);
12883 impl CompositionProjectedShadowReceiver {
ReceivingVisual(&self) -> ::windows::runtime::Result<Visual>12884     pub fn ReceivingVisual(&self) -> ::windows::runtime::Result<Visual> {
12885         let this = self;
12886         unsafe {
12887             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12888             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
12889         }
12890     }
SetReceivingVisual<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>12891     pub fn SetReceivingVisual<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12892         let this = self;
12893         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12894     }
12895     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>12896     pub fn Close(&self) -> ::windows::runtime::Result<()> {
12897         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
12898         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
12899     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>12900     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
12901         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12902         unsafe {
12903             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12904             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
12905         }
12906     }
12907     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>12908     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
12909         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12910         unsafe {
12911             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12912             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
12913         }
12914     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>12915     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
12916         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12917         unsafe {
12918             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12919             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
12920         }
12921     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>12922     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
12923         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12924         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
12925     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>12926     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
12927         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
12928         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
12929     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>12930     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
12931         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12932         unsafe {
12933             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
12934             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
12935         }
12936     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>12937     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12938         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12939         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12940     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>12941     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
12942         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12943         unsafe {
12944             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12945             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
12946         }
12947     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>12948     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12949         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12950         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12951     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>12952     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12953         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12954         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12955     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>12956     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
12957         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
12958         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
12959     }
12960     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>12961     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
12962         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
12963         unsafe {
12964             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12965             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
12966         }
12967     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>12968     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
12969         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
12970         unsafe {
12971             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
12972             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
12973         }
12974     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>12975     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
12976         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
12977         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
12978     }
12979 }
12980 unsafe impl ::windows::runtime::RuntimeType for CompositionProjectedShadowReceiver {
12981     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadowReceiver;{1377985a-6a49-536a-9be4-a96a8e5298a9})");
12982 }
12983 unsafe impl ::windows::runtime::Interface for CompositionProjectedShadowReceiver {
12984     type Vtable = ICompositionProjectedShadowReceiver_abi;
12985     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(326604890, 27209, 21354, [155, 228, 169, 106, 142, 82, 152, 169]);
12986 }
12987 impl ::windows::runtime::RuntimeName for CompositionProjectedShadowReceiver {
12988     const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadowReceiver";
12989 }
12990 impl ::std::convert::From<CompositionProjectedShadowReceiver> for ::windows::runtime::IUnknown {
from(value: CompositionProjectedShadowReceiver) -> Self12991     fn from(value: CompositionProjectedShadowReceiver) -> Self {
12992         unsafe { ::std::mem::transmute(value) }
12993     }
12994 }
12995 impl ::std::convert::From<&CompositionProjectedShadowReceiver> for ::windows::runtime::IUnknown {
from(value: &CompositionProjectedShadowReceiver) -> Self12996     fn from(value: &CompositionProjectedShadowReceiver) -> Self {
12997         ::std::convert::From::from(::std::clone::Clone::clone(value))
12998     }
12999 }
13000 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13001     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13002         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13003     }
13004 }
13005 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13006     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13007         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13008     }
13009 }
13010 impl ::std::convert::From<CompositionProjectedShadowReceiver> for ::windows::runtime::IInspectable {
from(value: CompositionProjectedShadowReceiver) -> Self13011     fn from(value: CompositionProjectedShadowReceiver) -> Self {
13012         value.0
13013     }
13014 }
13015 impl ::std::convert::From<&CompositionProjectedShadowReceiver> for ::windows::runtime::IInspectable {
from(value: &CompositionProjectedShadowReceiver) -> Self13016     fn from(value: &CompositionProjectedShadowReceiver) -> Self {
13017         value.0.clone()
13018     }
13019 }
13020 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>13021     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
13022         ::windows::runtime::Param::Owned(self.0)
13023     }
13024 }
13025 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>13026     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
13027         ::windows::runtime::Param::Borrowed(&self.0)
13028     }
13029 }
13030 #[cfg(feature = "Foundation")]
13031 impl ::std::convert::TryFrom<CompositionProjectedShadowReceiver> for super::super::Foundation::IClosable {
13032     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowReceiver) -> ::windows::runtime::Result<Self>13033     fn try_from(value: CompositionProjectedShadowReceiver) -> ::windows::runtime::Result<Self> {
13034         ::std::convert::TryFrom::try_from(&value)
13035     }
13036 }
13037 #[cfg(feature = "Foundation")]
13038 impl ::std::convert::TryFrom<&CompositionProjectedShadowReceiver> for super::super::Foundation::IClosable {
13039     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowReceiver) -> ::windows::runtime::Result<Self>13040     fn try_from(value: &CompositionProjectedShadowReceiver) -> ::windows::runtime::Result<Self> {
13041         ::windows::runtime::Interface::cast(value)
13042     }
13043 }
13044 #[cfg(feature = "Foundation")]
13045 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>13046     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
13047         ::windows::runtime::IntoParam::into_param(&self)
13048     }
13049 }
13050 #[cfg(feature = "Foundation")]
13051 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>13052     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
13053         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
13054     }
13055 }
13056 impl ::std::convert::TryFrom<CompositionProjectedShadowReceiver> for IAnimationObject {
13057     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowReceiver) -> ::windows::runtime::Result<Self>13058     fn try_from(value: CompositionProjectedShadowReceiver) -> ::windows::runtime::Result<Self> {
13059         ::std::convert::TryFrom::try_from(&value)
13060     }
13061 }
13062 impl ::std::convert::TryFrom<&CompositionProjectedShadowReceiver> for IAnimationObject {
13063     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowReceiver) -> ::windows::runtime::Result<Self>13064     fn try_from(value: &CompositionProjectedShadowReceiver) -> ::windows::runtime::Result<Self> {
13065         ::windows::runtime::Interface::cast(value)
13066     }
13067 }
13068 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>13069     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
13070         ::windows::runtime::IntoParam::into_param(&self)
13071     }
13072 }
13073 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>13074     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
13075         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
13076     }
13077 }
13078 impl ::std::convert::From<CompositionProjectedShadowReceiver> for CompositionObject {
from(value: CompositionProjectedShadowReceiver) -> Self13079     fn from(value: CompositionProjectedShadowReceiver) -> Self {
13080         ::std::convert::Into::<CompositionObject>::into(&value)
13081     }
13082 }
13083 impl ::std::convert::From<&CompositionProjectedShadowReceiver> for CompositionObject {
from(value: &CompositionProjectedShadowReceiver) -> Self13084     fn from(value: &CompositionProjectedShadowReceiver) -> Self {
13085         ::windows::runtime::Interface::cast(value).unwrap()
13086     }
13087 }
13088 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>13089     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
13090         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
13091     }
13092 }
13093 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionProjectedShadowReceiver {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>13094     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
13095         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
13096     }
13097 }
13098 unsafe impl ::std::marker::Send for CompositionProjectedShadowReceiver {}
13099 unsafe impl ::std::marker::Sync for CompositionProjectedShadowReceiver {}
13100 #[repr(transparent)]
13101 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
13102 pub struct CompositionProjectedShadowReceiverUnorderedCollection(::windows::runtime::IInspectable);
13103 impl CompositionProjectedShadowReceiverUnorderedCollection {
13104     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowReceiver>>13105     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowReceiver>> {
13106         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>>(self)?;
13107         unsafe {
13108             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13109             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<CompositionProjectedShadowReceiver>>(result__)
13110         }
13111     }
Add<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowReceiver>>(&self, value: Param0) -> ::windows::runtime::Result<()>13112     pub fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowReceiver>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13113         let this = self;
13114         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13115     }
Count(&self) -> ::windows::runtime::Result<i32>13116     pub fn Count(&self) -> ::windows::runtime::Result<i32> {
13117         let this = self;
13118         unsafe {
13119             let mut result__: i32 = ::std::mem::zeroed();
13120             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
13121         }
13122     }
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowReceiver>>(&self, value: Param0) -> ::windows::runtime::Result<()>13123     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionProjectedShadowReceiver>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13124         let this = self;
13125         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13126     }
RemoveAll(&self) -> ::windows::runtime::Result<()>13127     pub fn RemoveAll(&self) -> ::windows::runtime::Result<()> {
13128         let this = self;
13129         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this)).ok() }
13130     }
13131     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>13132     pub fn Close(&self) -> ::windows::runtime::Result<()> {
13133         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
13134         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
13135     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>13136     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
13137         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13138         unsafe {
13139             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13140             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
13141         }
13142     }
13143     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>13144     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
13145         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13146         unsafe {
13147             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13148             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
13149         }
13150     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>13151     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
13152         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13153         unsafe {
13154             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13155             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
13156         }
13157     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>13158     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
13159         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13160         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
13161     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>13162     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
13163         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13164         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
13165     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>13166     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
13167         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13168         unsafe {
13169             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
13170             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
13171         }
13172     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>13173     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13174         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13175         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13176     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>13177     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
13178         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13179         unsafe {
13180             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13181             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
13182         }
13183     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>13184     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13185         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13186         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13187     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>13188     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13189         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13190         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13191     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>13192     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13193         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13194         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13195     }
13196     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>13197     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
13198         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
13199         unsafe {
13200             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13201             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
13202         }
13203     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>13204     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
13205         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
13206         unsafe {
13207             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13208             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
13209         }
13210     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>13211     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
13212         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
13213         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
13214     }
13215 }
13216 unsafe impl ::windows::runtime::RuntimeType for CompositionProjectedShadowReceiverUnorderedCollection {
13217     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionProjectedShadowReceiverUnorderedCollection;{02b3e3b7-27d2-599f-ac4b-ab787cdde6fd})");
13218 }
13219 unsafe impl ::windows::runtime::Interface for CompositionProjectedShadowReceiverUnorderedCollection {
13220     type Vtable = ICompositionProjectedShadowReceiverUnorderedCollection_abi;
13221     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(45343671, 10194, 22943, [172, 75, 171, 120, 124, 221, 230, 253]);
13222 }
13223 impl ::windows::runtime::RuntimeName for CompositionProjectedShadowReceiverUnorderedCollection {
13224     const NAME: &'static str = "Windows.UI.Composition.CompositionProjectedShadowReceiverUnorderedCollection";
13225 }
13226 impl ::std::convert::From<CompositionProjectedShadowReceiverUnorderedCollection> for ::windows::runtime::IUnknown {
from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> Self13227     fn from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> Self {
13228         unsafe { ::std::mem::transmute(value) }
13229     }
13230 }
13231 impl ::std::convert::From<&CompositionProjectedShadowReceiverUnorderedCollection> for ::windows::runtime::IUnknown {
from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> Self13232     fn from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> Self {
13233         ::std::convert::From::from(::std::clone::Clone::clone(value))
13234     }
13235 }
13236 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13237     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13238         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13239     }
13240 }
13241 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13242     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13243         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13244     }
13245 }
13246 impl ::std::convert::From<CompositionProjectedShadowReceiverUnorderedCollection> for ::windows::runtime::IInspectable {
from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> Self13247     fn from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> Self {
13248         value.0
13249     }
13250 }
13251 impl ::std::convert::From<&CompositionProjectedShadowReceiverUnorderedCollection> for ::windows::runtime::IInspectable {
from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> Self13252     fn from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> Self {
13253         value.0.clone()
13254     }
13255 }
13256 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>13257     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
13258         ::windows::runtime::Param::Owned(self.0)
13259     }
13260 }
13261 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>13262     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
13263         ::windows::runtime::Param::Borrowed(&self.0)
13264     }
13265 }
13266 #[cfg(feature = "Foundation_Collections")]
13267 impl ::std::convert::TryFrom<CompositionProjectedShadowReceiverUnorderedCollection> for super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver> {
13268     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self>13269     fn try_from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self> {
13270         ::std::convert::TryFrom::try_from(&value)
13271     }
13272 }
13273 #[cfg(feature = "Foundation_Collections")]
13274 impl ::std::convert::TryFrom<&CompositionProjectedShadowReceiverUnorderedCollection> for super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver> {
13275     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self>13276     fn try_from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self> {
13277         ::windows::runtime::Interface::cast(value)
13278     }
13279 }
13280 #[cfg(feature = "Foundation_Collections")]
13281 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>> for CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>>13282     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>> {
13283         ::windows::runtime::IntoParam::into_param(&self)
13284     }
13285 }
13286 #[cfg(feature = "Foundation_Collections")]
13287 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>> for &CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>>13288     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>> {
13289         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<CompositionProjectedShadowReceiver>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
13290     }
13291 }
13292 #[cfg(feature = "Foundation")]
13293 impl ::std::convert::TryFrom<CompositionProjectedShadowReceiverUnorderedCollection> for super::super::Foundation::IClosable {
13294     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self>13295     fn try_from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self> {
13296         ::std::convert::TryFrom::try_from(&value)
13297     }
13298 }
13299 #[cfg(feature = "Foundation")]
13300 impl ::std::convert::TryFrom<&CompositionProjectedShadowReceiverUnorderedCollection> for super::super::Foundation::IClosable {
13301     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self>13302     fn try_from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self> {
13303         ::windows::runtime::Interface::cast(value)
13304     }
13305 }
13306 #[cfg(feature = "Foundation")]
13307 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>13308     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
13309         ::windows::runtime::IntoParam::into_param(&self)
13310     }
13311 }
13312 #[cfg(feature = "Foundation")]
13313 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>13314     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
13315         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
13316     }
13317 }
13318 impl ::std::convert::TryFrom<CompositionProjectedShadowReceiverUnorderedCollection> for IAnimationObject {
13319     type Error = ::windows::runtime::Error;
try_from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self>13320     fn try_from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self> {
13321         ::std::convert::TryFrom::try_from(&value)
13322     }
13323 }
13324 impl ::std::convert::TryFrom<&CompositionProjectedShadowReceiverUnorderedCollection> for IAnimationObject {
13325     type Error = ::windows::runtime::Error;
try_from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self>13326     fn try_from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> ::windows::runtime::Result<Self> {
13327         ::windows::runtime::Interface::cast(value)
13328     }
13329 }
13330 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>13331     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
13332         ::windows::runtime::IntoParam::into_param(&self)
13333     }
13334 }
13335 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>13336     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
13337         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
13338     }
13339 }
13340 impl ::std::convert::From<CompositionProjectedShadowReceiverUnorderedCollection> for CompositionObject {
from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> Self13341     fn from(value: CompositionProjectedShadowReceiverUnorderedCollection) -> Self {
13342         ::std::convert::Into::<CompositionObject>::into(&value)
13343     }
13344 }
13345 impl ::std::convert::From<&CompositionProjectedShadowReceiverUnorderedCollection> for CompositionObject {
from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> Self13346     fn from(value: &CompositionProjectedShadowReceiverUnorderedCollection) -> Self {
13347         ::windows::runtime::Interface::cast(value).unwrap()
13348     }
13349 }
13350 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>13351     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
13352         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
13353     }
13354 }
13355 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionProjectedShadowReceiverUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>13356     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
13357         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
13358     }
13359 }
13360 unsafe impl ::std::marker::Send for CompositionProjectedShadowReceiverUnorderedCollection {}
13361 unsafe impl ::std::marker::Sync for CompositionProjectedShadowReceiverUnorderedCollection {}
13362 #[cfg(all(feature = "Foundation_Collections"))]
13363 impl ::std::iter::IntoIterator for CompositionProjectedShadowReceiverUnorderedCollection {
13364     type Item = CompositionProjectedShadowReceiver;
13365     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter13366     fn into_iter(self) -> Self::IntoIter {
13367         ::std::iter::IntoIterator::into_iter(&self)
13368     }
13369 }
13370 #[cfg(all(feature = "Foundation_Collections"))]
13371 impl ::std::iter::IntoIterator for &CompositionProjectedShadowReceiverUnorderedCollection {
13372     type Item = CompositionProjectedShadowReceiver;
13373     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter13374     fn into_iter(self) -> Self::IntoIter {
13375         self.First().unwrap()
13376     }
13377 }
13378 #[repr(transparent)]
13379 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
13380 pub struct CompositionPropertySet(::windows::runtime::IInspectable);
13381 impl CompositionPropertySet {
InsertColor<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()>13382     pub fn InsertColor<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()> {
13383         let this = self;
13384         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value.into_param().abi()).ok() }
13385     }
13386     #[cfg(feature = "Foundation_Numerics")]
InsertMatrix3x2<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()>13387     pub fn InsertMatrix3x2<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()> {
13388         let this = self;
13389         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value.into_param().abi()).ok() }
13390     }
13391     #[cfg(feature = "Foundation_Numerics")]
InsertMatrix4x4<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()>13392     pub fn InsertMatrix4x4<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()> {
13393         let this = self;
13394         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value.into_param().abi()).ok() }
13395     }
13396     #[cfg(feature = "Foundation_Numerics")]
InsertQuaternion<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()>13397     pub fn InsertQuaternion<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()> {
13398         let this = self;
13399         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value.into_param().abi()).ok() }
13400     }
InsertScalar<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: f32) -> ::windows::runtime::Result<()>13401     pub fn InsertScalar<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: f32) -> ::windows::runtime::Result<()> {
13402         let this = self;
13403         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value).ok() }
13404     }
13405     #[cfg(feature = "Foundation_Numerics")]
InsertVector2<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()>13406     pub fn InsertVector2<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()> {
13407         let this = self;
13408         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value.into_param().abi()).ok() }
13409     }
13410     #[cfg(feature = "Foundation_Numerics")]
InsertVector3<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()>13411     pub fn InsertVector3<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()> {
13412         let this = self;
13413         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value.into_param().abi()).ok() }
13414     }
13415     #[cfg(feature = "Foundation_Numerics")]
InsertVector4<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()>13416     pub fn InsertVector4<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, propertyname: Param0, value: Param1) -> ::windows::runtime::Result<()> {
13417         let this = self;
13418         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value.into_param().abi()).ok() }
13419     }
TryGetColor<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::Color) -> ::windows::runtime::Result<CompositionGetValueStatus>13420     pub fn TryGetColor<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::Color) -> ::windows::runtime::Result<CompositionGetValueStatus> {
13421         let this = self;
13422         unsafe {
13423             let mut result__: CompositionGetValueStatus = ::std::mem::zeroed();
13424             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value, &mut result__).from_abi::<CompositionGetValueStatus>(result__)
13425         }
13426     }
13427     #[cfg(feature = "Foundation_Numerics")]
TryGetMatrix3x2<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::Result<CompositionGetValueStatus>13428     pub fn TryGetMatrix3x2<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::Result<CompositionGetValueStatus> {
13429         let this = self;
13430         unsafe {
13431             let mut result__: CompositionGetValueStatus = ::std::mem::zeroed();
13432             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value, &mut result__).from_abi::<CompositionGetValueStatus>(result__)
13433         }
13434     }
13435     #[cfg(feature = "Foundation_Numerics")]
TryGetMatrix4x4<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Matrix4x4) -> ::windows::runtime::Result<CompositionGetValueStatus>13436     pub fn TryGetMatrix4x4<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Matrix4x4) -> ::windows::runtime::Result<CompositionGetValueStatus> {
13437         let this = self;
13438         unsafe {
13439             let mut result__: CompositionGetValueStatus = ::std::mem::zeroed();
13440             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value, &mut result__).from_abi::<CompositionGetValueStatus>(result__)
13441         }
13442     }
13443     #[cfg(feature = "Foundation_Numerics")]
TryGetQuaternion<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::Result<CompositionGetValueStatus>13444     pub fn TryGetQuaternion<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::Result<CompositionGetValueStatus> {
13445         let this = self;
13446         unsafe {
13447             let mut result__: CompositionGetValueStatus = ::std::mem::zeroed();
13448             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value, &mut result__).from_abi::<CompositionGetValueStatus>(result__)
13449         }
13450     }
TryGetScalar<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut f32) -> ::windows::runtime::Result<CompositionGetValueStatus>13451     pub fn TryGetScalar<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut f32) -> ::windows::runtime::Result<CompositionGetValueStatus> {
13452         let this = self;
13453         unsafe {
13454             let mut result__: CompositionGetValueStatus = ::std::mem::zeroed();
13455             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value, &mut result__).from_abi::<CompositionGetValueStatus>(result__)
13456         }
13457     }
13458     #[cfg(feature = "Foundation_Numerics")]
TryGetVector2<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::Result<CompositionGetValueStatus>13459     pub fn TryGetVector2<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::Result<CompositionGetValueStatus> {
13460         let this = self;
13461         unsafe {
13462             let mut result__: CompositionGetValueStatus = ::std::mem::zeroed();
13463             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value, &mut result__).from_abi::<CompositionGetValueStatus>(result__)
13464         }
13465     }
13466     #[cfg(feature = "Foundation_Numerics")]
TryGetVector3<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::Result<CompositionGetValueStatus>13467     pub fn TryGetVector3<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::Result<CompositionGetValueStatus> {
13468         let this = self;
13469         unsafe {
13470             let mut result__: CompositionGetValueStatus = ::std::mem::zeroed();
13471             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value, &mut result__).from_abi::<CompositionGetValueStatus>(result__)
13472         }
13473     }
13474     #[cfg(feature = "Foundation_Numerics")]
TryGetVector4<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Vector4) -> ::windows::runtime::Result<CompositionGetValueStatus>13475     pub fn TryGetVector4<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut super::super::Foundation::Numerics::Vector4) -> ::windows::runtime::Result<CompositionGetValueStatus> {
13476         let this = self;
13477         unsafe {
13478             let mut result__: CompositionGetValueStatus = ::std::mem::zeroed();
13479             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value, &mut result__).from_abi::<CompositionGetValueStatus>(result__)
13480         }
13481     }
InsertBoolean<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: bool) -> ::windows::runtime::Result<()>13482     pub fn InsertBoolean<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: bool) -> ::windows::runtime::Result<()> {
13483         let this = &::windows::runtime::Interface::cast::<ICompositionPropertySet2>(self)?;
13484         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value).ok() }
13485     }
TryGetBoolean<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut bool) -> ::windows::runtime::Result<CompositionGetValueStatus>13486     pub fn TryGetBoolean<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0, value: &mut bool) -> ::windows::runtime::Result<CompositionGetValueStatus> {
13487         let this = &::windows::runtime::Interface::cast::<ICompositionPropertySet2>(self)?;
13488         unsafe {
13489             let mut result__: CompositionGetValueStatus = ::std::mem::zeroed();
13490             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), value, &mut result__).from_abi::<CompositionGetValueStatus>(result__)
13491         }
13492     }
13493     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>13494     pub fn Close(&self) -> ::windows::runtime::Result<()> {
13495         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
13496         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
13497     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>13498     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
13499         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13500         unsafe {
13501             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13502             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
13503         }
13504     }
13505     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>13506     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
13507         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13508         unsafe {
13509             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13510             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
13511         }
13512     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>13513     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
13514         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13515         unsafe {
13516             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13517             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
13518         }
13519     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>13520     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
13521         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13522         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
13523     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>13524     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
13525         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13526         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
13527     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>13528     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
13529         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13530         unsafe {
13531             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
13532             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
13533         }
13534     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>13535     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13536         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13537         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13538     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>13539     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
13540         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13541         unsafe {
13542             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13543             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
13544         }
13545     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>13546     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13547         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13548         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13549     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>13550     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13551         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13552         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13553     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>13554     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13555         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13556         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13557     }
13558     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>13559     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
13560         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
13561         unsafe {
13562             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13563             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
13564         }
13565     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>13566     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
13567         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
13568         unsafe {
13569             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13570             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
13571         }
13572     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>13573     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
13574         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
13575         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
13576     }
13577 }
13578 unsafe impl ::windows::runtime::RuntimeType for CompositionPropertySet {
13579     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionPropertySet;{c9d6d202-5f67-4453-9117-9eadd430d3c2})");
13580 }
13581 unsafe impl ::windows::runtime::Interface for CompositionPropertySet {
13582     type Vtable = ICompositionPropertySet_abi;
13583     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3386298882, 24423, 17491, [145, 23, 158, 173, 212, 48, 211, 194]);
13584 }
13585 impl ::windows::runtime::RuntimeName for CompositionPropertySet {
13586     const NAME: &'static str = "Windows.UI.Composition.CompositionPropertySet";
13587 }
13588 impl ::std::convert::From<CompositionPropertySet> for ::windows::runtime::IUnknown {
from(value: CompositionPropertySet) -> Self13589     fn from(value: CompositionPropertySet) -> Self {
13590         unsafe { ::std::mem::transmute(value) }
13591     }
13592 }
13593 impl ::std::convert::From<&CompositionPropertySet> for ::windows::runtime::IUnknown {
from(value: &CompositionPropertySet) -> Self13594     fn from(value: &CompositionPropertySet) -> Self {
13595         ::std::convert::From::from(::std::clone::Clone::clone(value))
13596     }
13597 }
13598 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13599     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13600         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13601     }
13602 }
13603 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13604     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13605         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13606     }
13607 }
13608 impl ::std::convert::From<CompositionPropertySet> for ::windows::runtime::IInspectable {
from(value: CompositionPropertySet) -> Self13609     fn from(value: CompositionPropertySet) -> Self {
13610         value.0
13611     }
13612 }
13613 impl ::std::convert::From<&CompositionPropertySet> for ::windows::runtime::IInspectable {
from(value: &CompositionPropertySet) -> Self13614     fn from(value: &CompositionPropertySet) -> Self {
13615         value.0.clone()
13616     }
13617 }
13618 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>13619     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
13620         ::windows::runtime::Param::Owned(self.0)
13621     }
13622 }
13623 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>13624     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
13625         ::windows::runtime::Param::Borrowed(&self.0)
13626     }
13627 }
13628 #[cfg(feature = "Foundation")]
13629 impl ::std::convert::TryFrom<CompositionPropertySet> for super::super::Foundation::IClosable {
13630     type Error = ::windows::runtime::Error;
try_from(value: CompositionPropertySet) -> ::windows::runtime::Result<Self>13631     fn try_from(value: CompositionPropertySet) -> ::windows::runtime::Result<Self> {
13632         ::std::convert::TryFrom::try_from(&value)
13633     }
13634 }
13635 #[cfg(feature = "Foundation")]
13636 impl ::std::convert::TryFrom<&CompositionPropertySet> for super::super::Foundation::IClosable {
13637     type Error = ::windows::runtime::Error;
try_from(value: &CompositionPropertySet) -> ::windows::runtime::Result<Self>13638     fn try_from(value: &CompositionPropertySet) -> ::windows::runtime::Result<Self> {
13639         ::windows::runtime::Interface::cast(value)
13640     }
13641 }
13642 #[cfg(feature = "Foundation")]
13643 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>13644     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
13645         ::windows::runtime::IntoParam::into_param(&self)
13646     }
13647 }
13648 #[cfg(feature = "Foundation")]
13649 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>13650     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
13651         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
13652     }
13653 }
13654 impl ::std::convert::TryFrom<CompositionPropertySet> for IAnimationObject {
13655     type Error = ::windows::runtime::Error;
try_from(value: CompositionPropertySet) -> ::windows::runtime::Result<Self>13656     fn try_from(value: CompositionPropertySet) -> ::windows::runtime::Result<Self> {
13657         ::std::convert::TryFrom::try_from(&value)
13658     }
13659 }
13660 impl ::std::convert::TryFrom<&CompositionPropertySet> for IAnimationObject {
13661     type Error = ::windows::runtime::Error;
try_from(value: &CompositionPropertySet) -> ::windows::runtime::Result<Self>13662     fn try_from(value: &CompositionPropertySet) -> ::windows::runtime::Result<Self> {
13663         ::windows::runtime::Interface::cast(value)
13664     }
13665 }
13666 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>13667     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
13668         ::windows::runtime::IntoParam::into_param(&self)
13669     }
13670 }
13671 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>13672     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
13673         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
13674     }
13675 }
13676 impl ::std::convert::From<CompositionPropertySet> for CompositionObject {
from(value: CompositionPropertySet) -> Self13677     fn from(value: CompositionPropertySet) -> Self {
13678         ::std::convert::Into::<CompositionObject>::into(&value)
13679     }
13680 }
13681 impl ::std::convert::From<&CompositionPropertySet> for CompositionObject {
from(value: &CompositionPropertySet) -> Self13682     fn from(value: &CompositionPropertySet) -> Self {
13683         ::windows::runtime::Interface::cast(value).unwrap()
13684     }
13685 }
13686 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>13687     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
13688         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
13689     }
13690 }
13691 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionPropertySet {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>13692     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
13693         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
13694     }
13695 }
13696 unsafe impl ::std::marker::Send for CompositionPropertySet {}
13697 unsafe impl ::std::marker::Sync for CompositionPropertySet {}
13698 #[repr(transparent)]
13699 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
13700 pub struct CompositionRadialGradientBrush(::windows::runtime::IInspectable);
13701 impl CompositionRadialGradientBrush {
13702     #[cfg(feature = "Foundation_Numerics")]
EllipseCenter(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>13703     pub fn EllipseCenter(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
13704         let this = self;
13705         unsafe {
13706             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
13707             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
13708         }
13709     }
13710     #[cfg(feature = "Foundation_Numerics")]
SetEllipseCenter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>13711     pub fn SetEllipseCenter<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13712         let this = self;
13713         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13714     }
13715     #[cfg(feature = "Foundation_Numerics")]
EllipseRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>13716     pub fn EllipseRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
13717         let this = self;
13718         unsafe {
13719             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
13720             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
13721         }
13722     }
13723     #[cfg(feature = "Foundation_Numerics")]
SetEllipseRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>13724     pub fn SetEllipseRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13725         let this = self;
13726         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13727     }
13728     #[cfg(feature = "Foundation_Numerics")]
GradientOriginOffset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>13729     pub fn GradientOriginOffset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
13730         let this = self;
13731         unsafe {
13732             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
13733             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
13734         }
13735     }
13736     #[cfg(feature = "Foundation_Numerics")]
SetGradientOriginOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>13737     pub fn SetGradientOriginOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13738         let this = self;
13739         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13740     }
13741     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>13742     pub fn Close(&self) -> ::windows::runtime::Result<()> {
13743         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
13744         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
13745     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>13746     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
13747         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13748         unsafe {
13749             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13750             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
13751         }
13752     }
13753     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>13754     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
13755         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13756         unsafe {
13757             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13758             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
13759         }
13760     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>13761     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
13762         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13763         unsafe {
13764             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13765             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
13766         }
13767     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>13768     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
13769         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13770         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
13771     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>13772     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
13773         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
13774         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
13775     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>13776     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
13777         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13778         unsafe {
13779             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
13780             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
13781         }
13782     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>13783     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13784         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13785         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13786     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>13787     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
13788         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13789         unsafe {
13790             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13791             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
13792         }
13793     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>13794     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13795         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13796         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13797     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>13798     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13799         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13800         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13801     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>13802     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13803         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
13804         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13805     }
13806     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>13807     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
13808         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13809         unsafe {
13810             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
13811             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
13812         }
13813     }
13814     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>13815     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13816         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13817         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13818     }
13819     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>13820     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
13821         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13822         unsafe {
13823             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
13824             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
13825         }
13826     }
13827     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>13828     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13829         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13830         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13831     }
ColorStops(&self) -> ::windows::runtime::Result<CompositionColorGradientStopCollection>13832     pub fn ColorStops(&self) -> ::windows::runtime::Result<CompositionColorGradientStopCollection> {
13833         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13834         unsafe {
13835             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13836             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionColorGradientStopCollection>(result__)
13837         }
13838     }
ExtendMode(&self) -> ::windows::runtime::Result<CompositionGradientExtendMode>13839     pub fn ExtendMode(&self) -> ::windows::runtime::Result<CompositionGradientExtendMode> {
13840         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13841         unsafe {
13842             let mut result__: CompositionGradientExtendMode = ::std::mem::zeroed();
13843             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionGradientExtendMode>(result__)
13844         }
13845     }
SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows::runtime::Result<()>13846     pub fn SetExtendMode(&self, value: CompositionGradientExtendMode) -> ::windows::runtime::Result<()> {
13847         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13848         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() }
13849     }
InterpolationSpace(&self) -> ::windows::runtime::Result<CompositionColorSpace>13850     pub fn InterpolationSpace(&self) -> ::windows::runtime::Result<CompositionColorSpace> {
13851         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13852         unsafe {
13853             let mut result__: CompositionColorSpace = ::std::mem::zeroed();
13854             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionColorSpace>(result__)
13855         }
13856     }
SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows::runtime::Result<()>13857     pub fn SetInterpolationSpace(&self, value: CompositionColorSpace) -> ::windows::runtime::Result<()> {
13858         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13859         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value).ok() }
13860     }
13861     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>13862     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
13863         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13864         unsafe {
13865             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
13866             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
13867         }
13868     }
13869     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>13870     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13871         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13872         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13873     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>13874     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
13875         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13876         unsafe {
13877             let mut result__: f32 = ::std::mem::zeroed();
13878             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
13879         }
13880     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>13881     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
13882         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13883         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value).ok() }
13884     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>13885     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
13886         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13887         unsafe {
13888             let mut result__: f32 = ::std::mem::zeroed();
13889             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
13890         }
13891     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>13892     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
13893         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13894         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value).ok() }
13895     }
13896     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>13897     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
13898         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13899         unsafe {
13900             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
13901             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
13902         }
13903     }
13904     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>13905     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13906         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13907         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13908     }
13909     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>13910     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
13911         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13912         unsafe {
13913             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
13914             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
13915         }
13916     }
13917     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>13918     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
13919         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush>(self)?;
13920         unsafe { (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
13921     }
13922     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>13923     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
13924         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
13925         unsafe {
13926             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13927             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
13928         }
13929     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>13930     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
13931         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
13932         unsafe {
13933             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
13934             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
13935         }
13936     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>13937     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
13938         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
13939         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
13940     }
MappingMode(&self) -> ::windows::runtime::Result<CompositionMappingMode>13941     pub fn MappingMode(&self) -> ::windows::runtime::Result<CompositionMappingMode> {
13942         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush2>(self)?;
13943         unsafe {
13944             let mut result__: CompositionMappingMode = ::std::mem::zeroed();
13945             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionMappingMode>(result__)
13946         }
13947     }
SetMappingMode(&self, value: CompositionMappingMode) -> ::windows::runtime::Result<()>13948     pub fn SetMappingMode(&self, value: CompositionMappingMode) -> ::windows::runtime::Result<()> {
13949         let this = &::windows::runtime::Interface::cast::<ICompositionGradientBrush2>(self)?;
13950         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
13951     }
13952 }
13953 unsafe impl ::windows::runtime::RuntimeType for CompositionRadialGradientBrush {
13954     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionRadialGradientBrush;{3d3b50c5-e3fa-4ce2-b9fc-3ee12561788f})");
13955 }
13956 unsafe impl ::windows::runtime::Interface for CompositionRadialGradientBrush {
13957     type Vtable = ICompositionRadialGradientBrush_abi;
13958     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1027297477, 58362, 19682, [185, 252, 62, 225, 37, 97, 120, 143]);
13959 }
13960 impl ::windows::runtime::RuntimeName for CompositionRadialGradientBrush {
13961     const NAME: &'static str = "Windows.UI.Composition.CompositionRadialGradientBrush";
13962 }
13963 impl ::std::convert::From<CompositionRadialGradientBrush> for ::windows::runtime::IUnknown {
from(value: CompositionRadialGradientBrush) -> Self13964     fn from(value: CompositionRadialGradientBrush) -> Self {
13965         unsafe { ::std::mem::transmute(value) }
13966     }
13967 }
13968 impl ::std::convert::From<&CompositionRadialGradientBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionRadialGradientBrush) -> Self13969     fn from(value: &CompositionRadialGradientBrush) -> Self {
13970         ::std::convert::From::from(::std::clone::Clone::clone(value))
13971     }
13972 }
13973 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13974     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13975         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
13976     }
13977 }
13978 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>13979     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
13980         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
13981     }
13982 }
13983 impl ::std::convert::From<CompositionRadialGradientBrush> for ::windows::runtime::IInspectable {
from(value: CompositionRadialGradientBrush) -> Self13984     fn from(value: CompositionRadialGradientBrush) -> Self {
13985         value.0
13986     }
13987 }
13988 impl ::std::convert::From<&CompositionRadialGradientBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionRadialGradientBrush) -> Self13989     fn from(value: &CompositionRadialGradientBrush) -> Self {
13990         value.0.clone()
13991     }
13992 }
13993 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>13994     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
13995         ::windows::runtime::Param::Owned(self.0)
13996     }
13997 }
13998 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>13999     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
14000         ::windows::runtime::Param::Borrowed(&self.0)
14001     }
14002 }
14003 #[cfg(feature = "Foundation")]
14004 impl ::std::convert::TryFrom<CompositionRadialGradientBrush> for super::super::Foundation::IClosable {
14005     type Error = ::windows::runtime::Error;
try_from(value: CompositionRadialGradientBrush) -> ::windows::runtime::Result<Self>14006     fn try_from(value: CompositionRadialGradientBrush) -> ::windows::runtime::Result<Self> {
14007         ::std::convert::TryFrom::try_from(&value)
14008     }
14009 }
14010 #[cfg(feature = "Foundation")]
14011 impl ::std::convert::TryFrom<&CompositionRadialGradientBrush> for super::super::Foundation::IClosable {
14012     type Error = ::windows::runtime::Error;
try_from(value: &CompositionRadialGradientBrush) -> ::windows::runtime::Result<Self>14013     fn try_from(value: &CompositionRadialGradientBrush) -> ::windows::runtime::Result<Self> {
14014         ::windows::runtime::Interface::cast(value)
14015     }
14016 }
14017 #[cfg(feature = "Foundation")]
14018 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>14019     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
14020         ::windows::runtime::IntoParam::into_param(&self)
14021     }
14022 }
14023 #[cfg(feature = "Foundation")]
14024 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>14025     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
14026         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
14027     }
14028 }
14029 impl ::std::convert::TryFrom<CompositionRadialGradientBrush> for IAnimationObject {
14030     type Error = ::windows::runtime::Error;
try_from(value: CompositionRadialGradientBrush) -> ::windows::runtime::Result<Self>14031     fn try_from(value: CompositionRadialGradientBrush) -> ::windows::runtime::Result<Self> {
14032         ::std::convert::TryFrom::try_from(&value)
14033     }
14034 }
14035 impl ::std::convert::TryFrom<&CompositionRadialGradientBrush> for IAnimationObject {
14036     type Error = ::windows::runtime::Error;
try_from(value: &CompositionRadialGradientBrush) -> ::windows::runtime::Result<Self>14037     fn try_from(value: &CompositionRadialGradientBrush) -> ::windows::runtime::Result<Self> {
14038         ::windows::runtime::Interface::cast(value)
14039     }
14040 }
14041 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>14042     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
14043         ::windows::runtime::IntoParam::into_param(&self)
14044     }
14045 }
14046 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>14047     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
14048         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
14049     }
14050 }
14051 impl ::std::convert::From<CompositionRadialGradientBrush> for CompositionGradientBrush {
from(value: CompositionRadialGradientBrush) -> Self14052     fn from(value: CompositionRadialGradientBrush) -> Self {
14053         ::std::convert::Into::<CompositionGradientBrush>::into(&value)
14054     }
14055 }
14056 impl ::std::convert::From<&CompositionRadialGradientBrush> for CompositionGradientBrush {
from(value: &CompositionRadialGradientBrush) -> Self14057     fn from(value: &CompositionRadialGradientBrush) -> Self {
14058         ::windows::runtime::Interface::cast(value).unwrap()
14059     }
14060 }
14061 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGradientBrush> for CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGradientBrush>14062     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGradientBrush> {
14063         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGradientBrush>::into(self))
14064     }
14065 }
14066 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGradientBrush> for &CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGradientBrush>14067     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGradientBrush> {
14068         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGradientBrush>::into(::std::clone::Clone::clone(self)))
14069     }
14070 }
14071 impl ::std::convert::From<CompositionRadialGradientBrush> for CompositionBrush {
from(value: CompositionRadialGradientBrush) -> Self14072     fn from(value: CompositionRadialGradientBrush) -> Self {
14073         ::std::convert::Into::<CompositionBrush>::into(&value)
14074     }
14075 }
14076 impl ::std::convert::From<&CompositionRadialGradientBrush> for CompositionBrush {
from(value: &CompositionRadialGradientBrush) -> Self14077     fn from(value: &CompositionRadialGradientBrush) -> Self {
14078         ::windows::runtime::Interface::cast(value).unwrap()
14079     }
14080 }
14081 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>14082     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
14083         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(self))
14084     }
14085 }
14086 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for &CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>14087     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
14088         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(::std::clone::Clone::clone(self)))
14089     }
14090 }
14091 impl ::std::convert::From<CompositionRadialGradientBrush> for CompositionObject {
from(value: CompositionRadialGradientBrush) -> Self14092     fn from(value: CompositionRadialGradientBrush) -> Self {
14093         ::std::convert::Into::<CompositionObject>::into(&value)
14094     }
14095 }
14096 impl ::std::convert::From<&CompositionRadialGradientBrush> for CompositionObject {
from(value: &CompositionRadialGradientBrush) -> Self14097     fn from(value: &CompositionRadialGradientBrush) -> Self {
14098         ::windows::runtime::Interface::cast(value).unwrap()
14099     }
14100 }
14101 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>14102     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
14103         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
14104     }
14105 }
14106 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionRadialGradientBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>14107     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
14108         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
14109     }
14110 }
14111 unsafe impl ::std::marker::Send for CompositionRadialGradientBrush {}
14112 unsafe impl ::std::marker::Sync for CompositionRadialGradientBrush {}
14113 #[repr(transparent)]
14114 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14115 pub struct CompositionRectangleGeometry(::windows::runtime::IInspectable);
14116 impl CompositionRectangleGeometry {
14117     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>14118     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
14119         let this = self;
14120         unsafe {
14121             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
14122             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
14123         }
14124     }
14125     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>14126     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14127         let this = self;
14128         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14129     }
14130     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>14131     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
14132         let this = self;
14133         unsafe {
14134             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
14135             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
14136         }
14137     }
14138     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>14139     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14140         let this = self;
14141         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14142     }
14143     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>14144     pub fn Close(&self) -> ::windows::runtime::Result<()> {
14145         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
14146         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
14147     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>14148     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
14149         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14150         unsafe {
14151             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14152             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
14153         }
14154     }
14155     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>14156     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
14157         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14158         unsafe {
14159             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14160             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
14161         }
14162     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>14163     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
14164         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14165         unsafe {
14166             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14167             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
14168         }
14169     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>14170     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
14171         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14172         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
14173     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>14174     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
14175         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14176         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
14177     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>14178     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
14179         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14180         unsafe {
14181             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
14182             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
14183         }
14184     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>14185     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14186         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14187         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14188     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>14189     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
14190         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14191         unsafe {
14192             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14193             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
14194         }
14195     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>14196     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14197         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14198         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14199     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>14200     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14201         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14202         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14203     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>14204     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14205         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14206         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14207     }
14208     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>14209     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
14210         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
14211         unsafe {
14212             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14213             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
14214         }
14215     }
TrimEnd(&self) -> ::windows::runtime::Result<f32>14216     pub fn TrimEnd(&self) -> ::windows::runtime::Result<f32> {
14217         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14218         unsafe {
14219             let mut result__: f32 = ::std::mem::zeroed();
14220             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
14221         }
14222     }
SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()>14223     pub fn SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()> {
14224         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14225         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
14226     }
TrimOffset(&self) -> ::windows::runtime::Result<f32>14227     pub fn TrimOffset(&self) -> ::windows::runtime::Result<f32> {
14228         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14229         unsafe {
14230             let mut result__: f32 = ::std::mem::zeroed();
14231             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
14232         }
14233     }
SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()>14234     pub fn SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()> {
14235         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14236         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
14237     }
TrimStart(&self) -> ::windows::runtime::Result<f32>14238     pub fn TrimStart(&self) -> ::windows::runtime::Result<f32> {
14239         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14240         unsafe {
14241             let mut result__: f32 = ::std::mem::zeroed();
14242             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
14243         }
14244     }
SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()>14245     pub fn SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()> {
14246         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14247         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
14248     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>14249     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
14250         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
14251         unsafe {
14252             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14253             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
14254         }
14255     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>14256     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
14257         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
14258         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
14259     }
14260 }
14261 unsafe impl ::windows::runtime::RuntimeType for CompositionRectangleGeometry {
14262     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionRectangleGeometry;{0cd51428-5356-4246-aecf-7a0b76975400})");
14263 }
14264 unsafe impl ::windows::runtime::Interface for CompositionRectangleGeometry {
14265     type Vtable = ICompositionRectangleGeometry_abi;
14266     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(215290920, 21334, 16966, [174, 207, 122, 11, 118, 151, 84, 0]);
14267 }
14268 impl ::windows::runtime::RuntimeName for CompositionRectangleGeometry {
14269     const NAME: &'static str = "Windows.UI.Composition.CompositionRectangleGeometry";
14270 }
14271 impl ::std::convert::From<CompositionRectangleGeometry> for ::windows::runtime::IUnknown {
from(value: CompositionRectangleGeometry) -> Self14272     fn from(value: CompositionRectangleGeometry) -> Self {
14273         unsafe { ::std::mem::transmute(value) }
14274     }
14275 }
14276 impl ::std::convert::From<&CompositionRectangleGeometry> for ::windows::runtime::IUnknown {
from(value: &CompositionRectangleGeometry) -> Self14277     fn from(value: &CompositionRectangleGeometry) -> Self {
14278         ::std::convert::From::from(::std::clone::Clone::clone(value))
14279     }
14280 }
14281 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14282     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14283         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14284     }
14285 }
14286 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14287     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14288         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14289     }
14290 }
14291 impl ::std::convert::From<CompositionRectangleGeometry> for ::windows::runtime::IInspectable {
from(value: CompositionRectangleGeometry) -> Self14292     fn from(value: CompositionRectangleGeometry) -> Self {
14293         value.0
14294     }
14295 }
14296 impl ::std::convert::From<&CompositionRectangleGeometry> for ::windows::runtime::IInspectable {
from(value: &CompositionRectangleGeometry) -> Self14297     fn from(value: &CompositionRectangleGeometry) -> Self {
14298         value.0.clone()
14299     }
14300 }
14301 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>14302     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
14303         ::windows::runtime::Param::Owned(self.0)
14304     }
14305 }
14306 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>14307     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
14308         ::windows::runtime::Param::Borrowed(&self.0)
14309     }
14310 }
14311 #[cfg(feature = "Foundation")]
14312 impl ::std::convert::TryFrom<CompositionRectangleGeometry> for super::super::Foundation::IClosable {
14313     type Error = ::windows::runtime::Error;
try_from(value: CompositionRectangleGeometry) -> ::windows::runtime::Result<Self>14314     fn try_from(value: CompositionRectangleGeometry) -> ::windows::runtime::Result<Self> {
14315         ::std::convert::TryFrom::try_from(&value)
14316     }
14317 }
14318 #[cfg(feature = "Foundation")]
14319 impl ::std::convert::TryFrom<&CompositionRectangleGeometry> for super::super::Foundation::IClosable {
14320     type Error = ::windows::runtime::Error;
try_from(value: &CompositionRectangleGeometry) -> ::windows::runtime::Result<Self>14321     fn try_from(value: &CompositionRectangleGeometry) -> ::windows::runtime::Result<Self> {
14322         ::windows::runtime::Interface::cast(value)
14323     }
14324 }
14325 #[cfg(feature = "Foundation")]
14326 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>14327     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
14328         ::windows::runtime::IntoParam::into_param(&self)
14329     }
14330 }
14331 #[cfg(feature = "Foundation")]
14332 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>14333     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
14334         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
14335     }
14336 }
14337 impl ::std::convert::TryFrom<CompositionRectangleGeometry> for IAnimationObject {
14338     type Error = ::windows::runtime::Error;
try_from(value: CompositionRectangleGeometry) -> ::windows::runtime::Result<Self>14339     fn try_from(value: CompositionRectangleGeometry) -> ::windows::runtime::Result<Self> {
14340         ::std::convert::TryFrom::try_from(&value)
14341     }
14342 }
14343 impl ::std::convert::TryFrom<&CompositionRectangleGeometry> for IAnimationObject {
14344     type Error = ::windows::runtime::Error;
try_from(value: &CompositionRectangleGeometry) -> ::windows::runtime::Result<Self>14345     fn try_from(value: &CompositionRectangleGeometry) -> ::windows::runtime::Result<Self> {
14346         ::windows::runtime::Interface::cast(value)
14347     }
14348 }
14349 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>14350     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
14351         ::windows::runtime::IntoParam::into_param(&self)
14352     }
14353 }
14354 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>14355     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
14356         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
14357     }
14358 }
14359 impl ::std::convert::From<CompositionRectangleGeometry> for CompositionGeometry {
from(value: CompositionRectangleGeometry) -> Self14360     fn from(value: CompositionRectangleGeometry) -> Self {
14361         ::std::convert::Into::<CompositionGeometry>::into(&value)
14362     }
14363 }
14364 impl ::std::convert::From<&CompositionRectangleGeometry> for CompositionGeometry {
from(value: &CompositionRectangleGeometry) -> Self14365     fn from(value: &CompositionRectangleGeometry) -> Self {
14366         ::windows::runtime::Interface::cast(value).unwrap()
14367     }
14368 }
14369 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>14370     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
14371         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(self))
14372     }
14373 }
14374 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for &CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>14375     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
14376         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(::std::clone::Clone::clone(self)))
14377     }
14378 }
14379 impl ::std::convert::From<CompositionRectangleGeometry> for CompositionObject {
from(value: CompositionRectangleGeometry) -> Self14380     fn from(value: CompositionRectangleGeometry) -> Self {
14381         ::std::convert::Into::<CompositionObject>::into(&value)
14382     }
14383 }
14384 impl ::std::convert::From<&CompositionRectangleGeometry> for CompositionObject {
from(value: &CompositionRectangleGeometry) -> Self14385     fn from(value: &CompositionRectangleGeometry) -> Self {
14386         ::windows::runtime::Interface::cast(value).unwrap()
14387     }
14388 }
14389 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>14390     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
14391         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
14392     }
14393 }
14394 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>14395     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
14396         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
14397     }
14398 }
14399 unsafe impl ::std::marker::Send for CompositionRectangleGeometry {}
14400 unsafe impl ::std::marker::Sync for CompositionRectangleGeometry {}
14401 #[repr(transparent)]
14402 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14403 pub struct CompositionRoundedRectangleGeometry(::windows::runtime::IInspectable);
14404 impl CompositionRoundedRectangleGeometry {
14405     #[cfg(feature = "Foundation_Numerics")]
CornerRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>14406     pub fn CornerRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
14407         let this = self;
14408         unsafe {
14409             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
14410             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
14411         }
14412     }
14413     #[cfg(feature = "Foundation_Numerics")]
SetCornerRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>14414     pub fn SetCornerRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14415         let this = self;
14416         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14417     }
14418     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>14419     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
14420         let this = self;
14421         unsafe {
14422             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
14423             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
14424         }
14425     }
14426     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>14427     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14428         let this = self;
14429         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14430     }
14431     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>14432     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
14433         let this = self;
14434         unsafe {
14435             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
14436             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
14437         }
14438     }
14439     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>14440     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14441         let this = self;
14442         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14443     }
14444     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>14445     pub fn Close(&self) -> ::windows::runtime::Result<()> {
14446         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
14447         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
14448     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>14449     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
14450         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14451         unsafe {
14452             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14453             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
14454         }
14455     }
14456     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>14457     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
14458         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14459         unsafe {
14460             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14461             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
14462         }
14463     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>14464     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
14465         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14466         unsafe {
14467             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14468             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
14469         }
14470     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>14471     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
14472         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14473         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
14474     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>14475     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
14476         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14477         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
14478     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>14479     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
14480         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14481         unsafe {
14482             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
14483             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
14484         }
14485     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>14486     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14487         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14488         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14489     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>14490     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
14491         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14492         unsafe {
14493             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14494             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
14495         }
14496     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>14497     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14498         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14499         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14500     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>14501     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14502         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14503         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14504     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>14505     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14506         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14507         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14508     }
14509     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>14510     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
14511         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
14512         unsafe {
14513             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14514             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
14515         }
14516     }
TrimEnd(&self) -> ::windows::runtime::Result<f32>14517     pub fn TrimEnd(&self) -> ::windows::runtime::Result<f32> {
14518         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14519         unsafe {
14520             let mut result__: f32 = ::std::mem::zeroed();
14521             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
14522         }
14523     }
SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()>14524     pub fn SetTrimEnd(&self, value: f32) -> ::windows::runtime::Result<()> {
14525         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14526         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
14527     }
TrimOffset(&self) -> ::windows::runtime::Result<f32>14528     pub fn TrimOffset(&self) -> ::windows::runtime::Result<f32> {
14529         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14530         unsafe {
14531             let mut result__: f32 = ::std::mem::zeroed();
14532             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
14533         }
14534     }
SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()>14535     pub fn SetTrimOffset(&self, value: f32) -> ::windows::runtime::Result<()> {
14536         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14537         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
14538     }
TrimStart(&self) -> ::windows::runtime::Result<f32>14539     pub fn TrimStart(&self) -> ::windows::runtime::Result<f32> {
14540         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14541         unsafe {
14542             let mut result__: f32 = ::std::mem::zeroed();
14543             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
14544         }
14545     }
SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()>14546     pub fn SetTrimStart(&self, value: f32) -> ::windows::runtime::Result<()> {
14547         let this = &::windows::runtime::Interface::cast::<ICompositionGeometry>(self)?;
14548         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
14549     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>14550     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
14551         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
14552         unsafe {
14553             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14554             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
14555         }
14556     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>14557     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
14558         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
14559         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
14560     }
14561 }
14562 unsafe impl ::windows::runtime::RuntimeType for CompositionRoundedRectangleGeometry {
14563     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionRoundedRectangleGeometry;{8770c822-1d50-4b8b-b013-7c9a0e46935f})");
14564 }
14565 unsafe impl ::windows::runtime::Interface for CompositionRoundedRectangleGeometry {
14566     type Vtable = ICompositionRoundedRectangleGeometry_abi;
14567     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2272315426, 7504, 19339, [176, 19, 124, 154, 14, 70, 147, 95]);
14568 }
14569 impl ::windows::runtime::RuntimeName for CompositionRoundedRectangleGeometry {
14570     const NAME: &'static str = "Windows.UI.Composition.CompositionRoundedRectangleGeometry";
14571 }
14572 impl ::std::convert::From<CompositionRoundedRectangleGeometry> for ::windows::runtime::IUnknown {
from(value: CompositionRoundedRectangleGeometry) -> Self14573     fn from(value: CompositionRoundedRectangleGeometry) -> Self {
14574         unsafe { ::std::mem::transmute(value) }
14575     }
14576 }
14577 impl ::std::convert::From<&CompositionRoundedRectangleGeometry> for ::windows::runtime::IUnknown {
from(value: &CompositionRoundedRectangleGeometry) -> Self14578     fn from(value: &CompositionRoundedRectangleGeometry) -> Self {
14579         ::std::convert::From::from(::std::clone::Clone::clone(value))
14580     }
14581 }
14582 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14583     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14584         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14585     }
14586 }
14587 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14588     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14589         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14590     }
14591 }
14592 impl ::std::convert::From<CompositionRoundedRectangleGeometry> for ::windows::runtime::IInspectable {
from(value: CompositionRoundedRectangleGeometry) -> Self14593     fn from(value: CompositionRoundedRectangleGeometry) -> Self {
14594         value.0
14595     }
14596 }
14597 impl ::std::convert::From<&CompositionRoundedRectangleGeometry> for ::windows::runtime::IInspectable {
from(value: &CompositionRoundedRectangleGeometry) -> Self14598     fn from(value: &CompositionRoundedRectangleGeometry) -> Self {
14599         value.0.clone()
14600     }
14601 }
14602 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>14603     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
14604         ::windows::runtime::Param::Owned(self.0)
14605     }
14606 }
14607 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>14608     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
14609         ::windows::runtime::Param::Borrowed(&self.0)
14610     }
14611 }
14612 #[cfg(feature = "Foundation")]
14613 impl ::std::convert::TryFrom<CompositionRoundedRectangleGeometry> for super::super::Foundation::IClosable {
14614     type Error = ::windows::runtime::Error;
try_from(value: CompositionRoundedRectangleGeometry) -> ::windows::runtime::Result<Self>14615     fn try_from(value: CompositionRoundedRectangleGeometry) -> ::windows::runtime::Result<Self> {
14616         ::std::convert::TryFrom::try_from(&value)
14617     }
14618 }
14619 #[cfg(feature = "Foundation")]
14620 impl ::std::convert::TryFrom<&CompositionRoundedRectangleGeometry> for super::super::Foundation::IClosable {
14621     type Error = ::windows::runtime::Error;
try_from(value: &CompositionRoundedRectangleGeometry) -> ::windows::runtime::Result<Self>14622     fn try_from(value: &CompositionRoundedRectangleGeometry) -> ::windows::runtime::Result<Self> {
14623         ::windows::runtime::Interface::cast(value)
14624     }
14625 }
14626 #[cfg(feature = "Foundation")]
14627 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>14628     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
14629         ::windows::runtime::IntoParam::into_param(&self)
14630     }
14631 }
14632 #[cfg(feature = "Foundation")]
14633 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>14634     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
14635         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
14636     }
14637 }
14638 impl ::std::convert::TryFrom<CompositionRoundedRectangleGeometry> for IAnimationObject {
14639     type Error = ::windows::runtime::Error;
try_from(value: CompositionRoundedRectangleGeometry) -> ::windows::runtime::Result<Self>14640     fn try_from(value: CompositionRoundedRectangleGeometry) -> ::windows::runtime::Result<Self> {
14641         ::std::convert::TryFrom::try_from(&value)
14642     }
14643 }
14644 impl ::std::convert::TryFrom<&CompositionRoundedRectangleGeometry> for IAnimationObject {
14645     type Error = ::windows::runtime::Error;
try_from(value: &CompositionRoundedRectangleGeometry) -> ::windows::runtime::Result<Self>14646     fn try_from(value: &CompositionRoundedRectangleGeometry) -> ::windows::runtime::Result<Self> {
14647         ::windows::runtime::Interface::cast(value)
14648     }
14649 }
14650 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>14651     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
14652         ::windows::runtime::IntoParam::into_param(&self)
14653     }
14654 }
14655 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>14656     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
14657         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
14658     }
14659 }
14660 impl ::std::convert::From<CompositionRoundedRectangleGeometry> for CompositionGeometry {
from(value: CompositionRoundedRectangleGeometry) -> Self14661     fn from(value: CompositionRoundedRectangleGeometry) -> Self {
14662         ::std::convert::Into::<CompositionGeometry>::into(&value)
14663     }
14664 }
14665 impl ::std::convert::From<&CompositionRoundedRectangleGeometry> for CompositionGeometry {
from(value: &CompositionRoundedRectangleGeometry) -> Self14666     fn from(value: &CompositionRoundedRectangleGeometry) -> Self {
14667         ::windows::runtime::Interface::cast(value).unwrap()
14668     }
14669 }
14670 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>14671     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
14672         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(self))
14673     }
14674 }
14675 impl<'a> ::windows::runtime::IntoParam<'a, CompositionGeometry> for &CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry>14676     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionGeometry> {
14677         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionGeometry>::into(::std::clone::Clone::clone(self)))
14678     }
14679 }
14680 impl ::std::convert::From<CompositionRoundedRectangleGeometry> for CompositionObject {
from(value: CompositionRoundedRectangleGeometry) -> Self14681     fn from(value: CompositionRoundedRectangleGeometry) -> Self {
14682         ::std::convert::Into::<CompositionObject>::into(&value)
14683     }
14684 }
14685 impl ::std::convert::From<&CompositionRoundedRectangleGeometry> for CompositionObject {
from(value: &CompositionRoundedRectangleGeometry) -> Self14686     fn from(value: &CompositionRoundedRectangleGeometry) -> Self {
14687         ::windows::runtime::Interface::cast(value).unwrap()
14688     }
14689 }
14690 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>14691     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
14692         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
14693     }
14694 }
14695 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionRoundedRectangleGeometry {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>14696     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
14697         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
14698     }
14699 }
14700 unsafe impl ::std::marker::Send for CompositionRoundedRectangleGeometry {}
14701 unsafe impl ::std::marker::Sync for CompositionRoundedRectangleGeometry {}
14702 #[repr(transparent)]
14703 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14704 pub struct CompositionScopedBatch(::windows::runtime::IInspectable);
14705 impl CompositionScopedBatch {
IsActive(&self) -> ::windows::runtime::Result<bool>14706     pub fn IsActive(&self) -> ::windows::runtime::Result<bool> {
14707         let this = self;
14708         unsafe {
14709             let mut result__: bool = ::std::mem::zeroed();
14710             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
14711         }
14712     }
IsEnded(&self) -> ::windows::runtime::Result<bool>14713     pub fn IsEnded(&self) -> ::windows::runtime::Result<bool> {
14714         let this = self;
14715         unsafe {
14716             let mut result__: bool = ::std::mem::zeroed();
14717             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
14718         }
14719     }
End(&self) -> ::windows::runtime::Result<()>14720     pub fn End(&self) -> ::windows::runtime::Result<()> {
14721         let this = self;
14722         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this)).ok() }
14723     }
Resume(&self) -> ::windows::runtime::Result<()>14724     pub fn Resume(&self) -> ::windows::runtime::Result<()> {
14725         let this = self;
14726         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this)).ok() }
14727     }
Suspend(&self) -> ::windows::runtime::Result<()>14728     pub fn Suspend(&self) -> ::windows::runtime::Result<()> {
14729         let this = self;
14730         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this)).ok() }
14731     }
14732     #[cfg(feature = "Foundation")]
Completed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<::windows::runtime::IInspectable, CompositionBatchCompletedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>14733     pub fn Completed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<::windows::runtime::IInspectable, CompositionBatchCompletedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
14734         let this = self;
14735         unsafe {
14736             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
14737             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
14738         }
14739     }
14740     #[cfg(feature = "Foundation")]
RemoveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>14741     pub fn RemoveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
14742         let this = self;
14743         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
14744     }
14745     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>14746     pub fn Close(&self) -> ::windows::runtime::Result<()> {
14747         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
14748         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
14749     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>14750     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
14751         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14752         unsafe {
14753             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14754             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
14755         }
14756     }
14757     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>14758     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
14759         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14760         unsafe {
14761             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14762             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
14763         }
14764     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>14765     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
14766         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14767         unsafe {
14768             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14769             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
14770         }
14771     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>14772     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
14773         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14774         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
14775     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>14776     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
14777         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14778         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
14779     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>14780     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
14781         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14782         unsafe {
14783             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
14784             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
14785         }
14786     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>14787     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14788         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14789         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14790     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>14791     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
14792         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14793         unsafe {
14794             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14795             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
14796         }
14797     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>14798     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14799         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14800         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14801     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>14802     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14803         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14804         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14805     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>14806     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14807         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14808         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14809     }
14810     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>14811     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
14812         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
14813         unsafe {
14814             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14815             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
14816         }
14817     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>14818     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
14819         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
14820         unsafe {
14821             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14822             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
14823         }
14824     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>14825     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
14826         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
14827         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
14828     }
14829 }
14830 unsafe impl ::windows::runtime::RuntimeType for CompositionScopedBatch {
14831     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionScopedBatch;{0d00dad0-fb07-46fd-8c72-6280d1a3d1dd})");
14832 }
14833 unsafe impl ::windows::runtime::Interface for CompositionScopedBatch {
14834     type Vtable = ICompositionScopedBatch_abi;
14835     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(218159824, 64263, 18173, [140, 114, 98, 128, 209, 163, 209, 221]);
14836 }
14837 impl ::windows::runtime::RuntimeName for CompositionScopedBatch {
14838     const NAME: &'static str = "Windows.UI.Composition.CompositionScopedBatch";
14839 }
14840 impl ::std::convert::From<CompositionScopedBatch> for ::windows::runtime::IUnknown {
from(value: CompositionScopedBatch) -> Self14841     fn from(value: CompositionScopedBatch) -> Self {
14842         unsafe { ::std::mem::transmute(value) }
14843     }
14844 }
14845 impl ::std::convert::From<&CompositionScopedBatch> for ::windows::runtime::IUnknown {
from(value: &CompositionScopedBatch) -> Self14846     fn from(value: &CompositionScopedBatch) -> Self {
14847         ::std::convert::From::from(::std::clone::Clone::clone(value))
14848     }
14849 }
14850 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14851     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14852         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
14853     }
14854 }
14855 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>14856     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
14857         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
14858     }
14859 }
14860 impl ::std::convert::From<CompositionScopedBatch> for ::windows::runtime::IInspectable {
from(value: CompositionScopedBatch) -> Self14861     fn from(value: CompositionScopedBatch) -> Self {
14862         value.0
14863     }
14864 }
14865 impl ::std::convert::From<&CompositionScopedBatch> for ::windows::runtime::IInspectable {
from(value: &CompositionScopedBatch) -> Self14866     fn from(value: &CompositionScopedBatch) -> Self {
14867         value.0.clone()
14868     }
14869 }
14870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>14871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
14872         ::windows::runtime::Param::Owned(self.0)
14873     }
14874 }
14875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>14876     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
14877         ::windows::runtime::Param::Borrowed(&self.0)
14878     }
14879 }
14880 #[cfg(feature = "Foundation")]
14881 impl ::std::convert::TryFrom<CompositionScopedBatch> for super::super::Foundation::IClosable {
14882     type Error = ::windows::runtime::Error;
try_from(value: CompositionScopedBatch) -> ::windows::runtime::Result<Self>14883     fn try_from(value: CompositionScopedBatch) -> ::windows::runtime::Result<Self> {
14884         ::std::convert::TryFrom::try_from(&value)
14885     }
14886 }
14887 #[cfg(feature = "Foundation")]
14888 impl ::std::convert::TryFrom<&CompositionScopedBatch> for super::super::Foundation::IClosable {
14889     type Error = ::windows::runtime::Error;
try_from(value: &CompositionScopedBatch) -> ::windows::runtime::Result<Self>14890     fn try_from(value: &CompositionScopedBatch) -> ::windows::runtime::Result<Self> {
14891         ::windows::runtime::Interface::cast(value)
14892     }
14893 }
14894 #[cfg(feature = "Foundation")]
14895 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>14896     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
14897         ::windows::runtime::IntoParam::into_param(&self)
14898     }
14899 }
14900 #[cfg(feature = "Foundation")]
14901 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>14902     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
14903         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
14904     }
14905 }
14906 impl ::std::convert::TryFrom<CompositionScopedBatch> for IAnimationObject {
14907     type Error = ::windows::runtime::Error;
try_from(value: CompositionScopedBatch) -> ::windows::runtime::Result<Self>14908     fn try_from(value: CompositionScopedBatch) -> ::windows::runtime::Result<Self> {
14909         ::std::convert::TryFrom::try_from(&value)
14910     }
14911 }
14912 impl ::std::convert::TryFrom<&CompositionScopedBatch> for IAnimationObject {
14913     type Error = ::windows::runtime::Error;
try_from(value: &CompositionScopedBatch) -> ::windows::runtime::Result<Self>14914     fn try_from(value: &CompositionScopedBatch) -> ::windows::runtime::Result<Self> {
14915         ::windows::runtime::Interface::cast(value)
14916     }
14917 }
14918 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>14919     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
14920         ::windows::runtime::IntoParam::into_param(&self)
14921     }
14922 }
14923 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>14924     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
14925         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
14926     }
14927 }
14928 impl ::std::convert::From<CompositionScopedBatch> for CompositionObject {
from(value: CompositionScopedBatch) -> Self14929     fn from(value: CompositionScopedBatch) -> Self {
14930         ::std::convert::Into::<CompositionObject>::into(&value)
14931     }
14932 }
14933 impl ::std::convert::From<&CompositionScopedBatch> for CompositionObject {
from(value: &CompositionScopedBatch) -> Self14934     fn from(value: &CompositionScopedBatch) -> Self {
14935         ::windows::runtime::Interface::cast(value).unwrap()
14936     }
14937 }
14938 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>14939     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
14940         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
14941     }
14942 }
14943 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionScopedBatch {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>14944     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
14945         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
14946     }
14947 }
14948 unsafe impl ::std::marker::Send for CompositionScopedBatch {}
14949 unsafe impl ::std::marker::Sync for CompositionScopedBatch {}
14950 #[repr(transparent)]
14951 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
14952 pub struct CompositionShadow(::windows::runtime::IInspectable);
14953 impl CompositionShadow {
14954     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>14955     pub fn Close(&self) -> ::windows::runtime::Result<()> {
14956         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
14957         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
14958     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>14959     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
14960         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14961         unsafe {
14962             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14963             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
14964         }
14965     }
14966     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>14967     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
14968         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14969         unsafe {
14970             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14971             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
14972         }
14973     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>14974     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
14975         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14976         unsafe {
14977             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
14978             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
14979         }
14980     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>14981     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
14982         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14983         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
14984     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>14985     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
14986         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
14987         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
14988     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>14989     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
14990         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14991         unsafe {
14992             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
14993             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
14994         }
14995     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>14996     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
14997         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
14998         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
14999     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>15000     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
15001         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15002         unsafe {
15003             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15004             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
15005         }
15006     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>15007     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15008         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15009         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15010     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>15011     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15012         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15013         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15014     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>15015     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15016         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15017         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15018     }
15019     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>15020     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
15021         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
15022         unsafe {
15023             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15024             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
15025         }
15026     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>15027     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
15028         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
15029         unsafe {
15030             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15031             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
15032         }
15033     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>15034     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
15035         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
15036         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
15037     }
15038 }
15039 unsafe impl ::windows::runtime::RuntimeType for CompositionShadow {
15040     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionShadow;{329e52e2-4335-49cc-b14a-37782d10f0c4})");
15041 }
15042 unsafe impl ::windows::runtime::Interface for CompositionShadow {
15043     type Vtable = ICompositionShadow_abi;
15044     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(849236706, 17205, 18892, [177, 74, 55, 120, 45, 16, 240, 196]);
15045 }
15046 impl ::windows::runtime::RuntimeName for CompositionShadow {
15047     const NAME: &'static str = "Windows.UI.Composition.CompositionShadow";
15048 }
15049 impl ::std::convert::From<CompositionShadow> for ::windows::runtime::IUnknown {
from(value: CompositionShadow) -> Self15050     fn from(value: CompositionShadow) -> Self {
15051         unsafe { ::std::mem::transmute(value) }
15052     }
15053 }
15054 impl ::std::convert::From<&CompositionShadow> for ::windows::runtime::IUnknown {
from(value: &CompositionShadow) -> Self15055     fn from(value: &CompositionShadow) -> Self {
15056         ::std::convert::From::from(::std::clone::Clone::clone(value))
15057     }
15058 }
15059 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15060     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15061         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15062     }
15063 }
15064 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15065     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15066         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15067     }
15068 }
15069 impl ::std::convert::From<CompositionShadow> for ::windows::runtime::IInspectable {
from(value: CompositionShadow) -> Self15070     fn from(value: CompositionShadow) -> Self {
15071         value.0
15072     }
15073 }
15074 impl ::std::convert::From<&CompositionShadow> for ::windows::runtime::IInspectable {
from(value: &CompositionShadow) -> Self15075     fn from(value: &CompositionShadow) -> Self {
15076         value.0.clone()
15077     }
15078 }
15079 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>15080     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
15081         ::windows::runtime::Param::Owned(self.0)
15082     }
15083 }
15084 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>15085     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
15086         ::windows::runtime::Param::Borrowed(&self.0)
15087     }
15088 }
15089 #[cfg(feature = "Foundation")]
15090 impl ::std::convert::TryFrom<CompositionShadow> for super::super::Foundation::IClosable {
15091     type Error = ::windows::runtime::Error;
try_from(value: CompositionShadow) -> ::windows::runtime::Result<Self>15092     fn try_from(value: CompositionShadow) -> ::windows::runtime::Result<Self> {
15093         ::std::convert::TryFrom::try_from(&value)
15094     }
15095 }
15096 #[cfg(feature = "Foundation")]
15097 impl ::std::convert::TryFrom<&CompositionShadow> for super::super::Foundation::IClosable {
15098     type Error = ::windows::runtime::Error;
try_from(value: &CompositionShadow) -> ::windows::runtime::Result<Self>15099     fn try_from(value: &CompositionShadow) -> ::windows::runtime::Result<Self> {
15100         ::windows::runtime::Interface::cast(value)
15101     }
15102 }
15103 #[cfg(feature = "Foundation")]
15104 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>15105     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
15106         ::windows::runtime::IntoParam::into_param(&self)
15107     }
15108 }
15109 #[cfg(feature = "Foundation")]
15110 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>15111     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
15112         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
15113     }
15114 }
15115 impl ::std::convert::TryFrom<CompositionShadow> for IAnimationObject {
15116     type Error = ::windows::runtime::Error;
try_from(value: CompositionShadow) -> ::windows::runtime::Result<Self>15117     fn try_from(value: CompositionShadow) -> ::windows::runtime::Result<Self> {
15118         ::std::convert::TryFrom::try_from(&value)
15119     }
15120 }
15121 impl ::std::convert::TryFrom<&CompositionShadow> for IAnimationObject {
15122     type Error = ::windows::runtime::Error;
try_from(value: &CompositionShadow) -> ::windows::runtime::Result<Self>15123     fn try_from(value: &CompositionShadow) -> ::windows::runtime::Result<Self> {
15124         ::windows::runtime::Interface::cast(value)
15125     }
15126 }
15127 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>15128     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
15129         ::windows::runtime::IntoParam::into_param(&self)
15130     }
15131 }
15132 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>15133     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
15134         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
15135     }
15136 }
15137 impl ::std::convert::From<CompositionShadow> for CompositionObject {
from(value: CompositionShadow) -> Self15138     fn from(value: CompositionShadow) -> Self {
15139         ::std::convert::Into::<CompositionObject>::into(&value)
15140     }
15141 }
15142 impl ::std::convert::From<&CompositionShadow> for CompositionObject {
from(value: &CompositionShadow) -> Self15143     fn from(value: &CompositionShadow) -> Self {
15144         ::windows::runtime::Interface::cast(value).unwrap()
15145     }
15146 }
15147 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>15148     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
15149         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
15150     }
15151 }
15152 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionShadow {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>15153     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
15154         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
15155     }
15156 }
15157 unsafe impl ::std::marker::Send for CompositionShadow {}
15158 unsafe impl ::std::marker::Sync for CompositionShadow {}
15159 #[repr(transparent)]
15160 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15161 pub struct CompositionShape(::windows::runtime::IInspectable);
15162 impl CompositionShape {
15163     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>15164     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
15165         let this = self;
15166         unsafe {
15167             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
15168             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
15169         }
15170     }
15171     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>15172     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15173         let this = self;
15174         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15175     }
15176     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>15177     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
15178         let this = self;
15179         unsafe {
15180             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
15181             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
15182         }
15183     }
15184     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>15185     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15186         let this = self;
15187         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15188     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>15189     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
15190         let this = self;
15191         unsafe {
15192             let mut result__: f32 = ::std::mem::zeroed();
15193             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
15194         }
15195     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>15196     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
15197         let this = self;
15198         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
15199     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>15200     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
15201         let this = self;
15202         unsafe {
15203             let mut result__: f32 = ::std::mem::zeroed();
15204             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
15205         }
15206     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>15207     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
15208         let this = self;
15209         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
15210     }
15211     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>15212     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
15213         let this = self;
15214         unsafe {
15215             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
15216             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
15217         }
15218     }
15219     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>15220     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15221         let this = self;
15222         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15223     }
15224     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>15225     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
15226         let this = self;
15227         unsafe {
15228             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
15229             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
15230         }
15231     }
15232     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>15233     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15234         let this = self;
15235         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15236     }
15237     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>15238     pub fn Close(&self) -> ::windows::runtime::Result<()> {
15239         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
15240         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
15241     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>15242     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
15243         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15244         unsafe {
15245             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15246             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
15247         }
15248     }
15249     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>15250     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
15251         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15252         unsafe {
15253             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15254             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
15255         }
15256     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>15257     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
15258         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15259         unsafe {
15260             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15261             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
15262         }
15263     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>15264     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
15265         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15266         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
15267     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>15268     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
15269         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15270         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
15271     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>15272     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
15273         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15274         unsafe {
15275             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
15276             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
15277         }
15278     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>15279     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15280         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15281         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15282     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>15283     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
15284         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15285         unsafe {
15286             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15287             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
15288         }
15289     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>15290     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15291         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15292         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15293     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>15294     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15295         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15296         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15297     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>15298     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15299         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15300         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15301     }
15302     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>15303     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
15304         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
15305         unsafe {
15306             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15307             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
15308         }
15309     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>15310     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
15311         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
15312         unsafe {
15313             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15314             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
15315         }
15316     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>15317     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
15318         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
15319         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
15320     }
15321 }
15322 unsafe impl ::windows::runtime::RuntimeType for CompositionShape {
15323     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionShape;{b47ce2f7-9a88-42c4-9e87-2e500ca8688c})");
15324 }
15325 unsafe impl ::windows::runtime::Interface for CompositionShape {
15326     type Vtable = ICompositionShape_abi;
15327     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3028083447, 39560, 17092, [158, 135, 46, 80, 12, 168, 104, 140]);
15328 }
15329 impl ::windows::runtime::RuntimeName for CompositionShape {
15330     const NAME: &'static str = "Windows.UI.Composition.CompositionShape";
15331 }
15332 impl ::std::convert::From<CompositionShape> for ::windows::runtime::IUnknown {
from(value: CompositionShape) -> Self15333     fn from(value: CompositionShape) -> Self {
15334         unsafe { ::std::mem::transmute(value) }
15335     }
15336 }
15337 impl ::std::convert::From<&CompositionShape> for ::windows::runtime::IUnknown {
from(value: &CompositionShape) -> Self15338     fn from(value: &CompositionShape) -> Self {
15339         ::std::convert::From::from(::std::clone::Clone::clone(value))
15340     }
15341 }
15342 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15343     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15344         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15345     }
15346 }
15347 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15348     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15349         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15350     }
15351 }
15352 impl ::std::convert::From<CompositionShape> for ::windows::runtime::IInspectable {
from(value: CompositionShape) -> Self15353     fn from(value: CompositionShape) -> Self {
15354         value.0
15355     }
15356 }
15357 impl ::std::convert::From<&CompositionShape> for ::windows::runtime::IInspectable {
from(value: &CompositionShape) -> Self15358     fn from(value: &CompositionShape) -> Self {
15359         value.0.clone()
15360     }
15361 }
15362 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>15363     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
15364         ::windows::runtime::Param::Owned(self.0)
15365     }
15366 }
15367 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>15368     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
15369         ::windows::runtime::Param::Borrowed(&self.0)
15370     }
15371 }
15372 #[cfg(feature = "Foundation")]
15373 impl ::std::convert::TryFrom<CompositionShape> for super::super::Foundation::IClosable {
15374     type Error = ::windows::runtime::Error;
try_from(value: CompositionShape) -> ::windows::runtime::Result<Self>15375     fn try_from(value: CompositionShape) -> ::windows::runtime::Result<Self> {
15376         ::std::convert::TryFrom::try_from(&value)
15377     }
15378 }
15379 #[cfg(feature = "Foundation")]
15380 impl ::std::convert::TryFrom<&CompositionShape> for super::super::Foundation::IClosable {
15381     type Error = ::windows::runtime::Error;
try_from(value: &CompositionShape) -> ::windows::runtime::Result<Self>15382     fn try_from(value: &CompositionShape) -> ::windows::runtime::Result<Self> {
15383         ::windows::runtime::Interface::cast(value)
15384     }
15385 }
15386 #[cfg(feature = "Foundation")]
15387 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>15388     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
15389         ::windows::runtime::IntoParam::into_param(&self)
15390     }
15391 }
15392 #[cfg(feature = "Foundation")]
15393 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>15394     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
15395         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
15396     }
15397 }
15398 impl ::std::convert::TryFrom<CompositionShape> for IAnimationObject {
15399     type Error = ::windows::runtime::Error;
try_from(value: CompositionShape) -> ::windows::runtime::Result<Self>15400     fn try_from(value: CompositionShape) -> ::windows::runtime::Result<Self> {
15401         ::std::convert::TryFrom::try_from(&value)
15402     }
15403 }
15404 impl ::std::convert::TryFrom<&CompositionShape> for IAnimationObject {
15405     type Error = ::windows::runtime::Error;
try_from(value: &CompositionShape) -> ::windows::runtime::Result<Self>15406     fn try_from(value: &CompositionShape) -> ::windows::runtime::Result<Self> {
15407         ::windows::runtime::Interface::cast(value)
15408     }
15409 }
15410 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>15411     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
15412         ::windows::runtime::IntoParam::into_param(&self)
15413     }
15414 }
15415 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>15416     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
15417         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
15418     }
15419 }
15420 impl ::std::convert::From<CompositionShape> for CompositionObject {
from(value: CompositionShape) -> Self15421     fn from(value: CompositionShape) -> Self {
15422         ::std::convert::Into::<CompositionObject>::into(&value)
15423     }
15424 }
15425 impl ::std::convert::From<&CompositionShape> for CompositionObject {
from(value: &CompositionShape) -> Self15426     fn from(value: &CompositionShape) -> Self {
15427         ::windows::runtime::Interface::cast(value).unwrap()
15428     }
15429 }
15430 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>15431     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
15432         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
15433     }
15434 }
15435 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>15436     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
15437         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
15438     }
15439 }
15440 unsafe impl ::std::marker::Send for CompositionShape {}
15441 unsafe impl ::std::marker::Sync for CompositionShape {}
15442 #[cfg(feature = "Foundation_Collections")]
15443 #[repr(transparent)]
15444 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15445 pub struct CompositionShapeCollection(::windows::runtime::IInspectable);
15446 #[cfg(feature = "Foundation_Collections")]
15447 impl CompositionShapeCollection {
15448     #[cfg(feature = "Foundation_Collections")]
GetAt(&self, index: u32) -> ::windows::runtime::Result<CompositionShape>15449     pub fn GetAt(&self, index: u32) -> ::windows::runtime::Result<CompositionShape> {
15450         let this = self;
15451         unsafe {
15452             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15453             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), index, &mut result__).from_abi::<CompositionShape>(result__)
15454         }
15455     }
15456     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>15457     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
15458         let this = self;
15459         unsafe {
15460             let mut result__: u32 = ::std::mem::zeroed();
15461             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
15462         }
15463     }
15464     #[cfg(feature = "Foundation_Collections")]
GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<CompositionShape>>15465     pub fn GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<CompositionShape>> {
15466         let this = self;
15467         unsafe {
15468             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15469             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<CompositionShape>>(result__)
15470         }
15471     }
15472     #[cfg(feature = "Foundation_Collections")]
IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionShape>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool>15473     pub fn IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionShape>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool> {
15474         let this = self;
15475         unsafe {
15476             let mut result__: bool = ::std::mem::zeroed();
15477             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi(), index, &mut result__).from_abi::<bool>(result__)
15478         }
15479     }
15480     #[cfg(feature = "Foundation_Collections")]
SetAt<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionShape>>(&self, index: u32, value: Param1) -> ::windows::runtime::Result<()>15481     pub fn SetAt<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionShape>>(&self, index: u32, value: Param1) -> ::windows::runtime::Result<()> {
15482         let this = self;
15483         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), index, value.into_param().abi()).ok() }
15484     }
15485     #[cfg(feature = "Foundation_Collections")]
InsertAt<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionShape>>(&self, index: u32, value: Param1) -> ::windows::runtime::Result<()>15486     pub fn InsertAt<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionShape>>(&self, index: u32, value: Param1) -> ::windows::runtime::Result<()> {
15487         let this = self;
15488         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), index, value.into_param().abi()).ok() }
15489     }
15490     #[cfg(feature = "Foundation_Collections")]
RemoveAt(&self, index: u32) -> ::windows::runtime::Result<()>15491     pub fn RemoveAt(&self, index: u32) -> ::windows::runtime::Result<()> {
15492         let this = self;
15493         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), index).ok() }
15494     }
15495     #[cfg(feature = "Foundation_Collections")]
Append<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionShape>>(&self, value: Param0) -> ::windows::runtime::Result<()>15496     pub fn Append<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionShape>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15497         let this = self;
15498         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15499     }
15500     #[cfg(feature = "Foundation_Collections")]
RemoveAtEnd(&self) -> ::windows::runtime::Result<()>15501     pub fn RemoveAtEnd(&self) -> ::windows::runtime::Result<()> {
15502         let this = self;
15503         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this)).ok() }
15504     }
15505     #[cfg(feature = "Foundation_Collections")]
Clear(&self) -> ::windows::runtime::Result<()>15506     pub fn Clear(&self) -> ::windows::runtime::Result<()> {
15507         let this = self;
15508         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this)).ok() }
15509     }
15510     #[cfg(feature = "Foundation_Collections")]
GetMany(&self, startindex: u32, items: &mut [<CompositionShape as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32>15511     pub fn GetMany(&self, startindex: u32, items: &mut [<CompositionShape as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32> {
15512         let this = self;
15513         unsafe {
15514             let mut result__: u32 = ::std::mem::zeroed();
15515             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), startindex, items.len() as u32, ::std::mem::transmute_copy(&items), &mut result__).from_abi::<u32>(result__)
15516         }
15517     }
15518     #[cfg(feature = "Foundation_Collections")]
ReplaceAll(&self, items: &[<CompositionShape as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()>15519     pub fn ReplaceAll(&self, items: &[<CompositionShape as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()> {
15520         let this = self;
15521         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), items.len() as u32, ::std::mem::transmute(items.as_ptr())).ok() }
15522     }
15523     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionShape>>15524     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<CompositionShape>> {
15525         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<CompositionShape>>(self)?;
15526         unsafe {
15527             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15528             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<CompositionShape>>(result__)
15529         }
15530     }
15531     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>15532     pub fn Close(&self) -> ::windows::runtime::Result<()> {
15533         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
15534         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
15535     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>15536     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
15537         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15538         unsafe {
15539             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15540             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
15541         }
15542     }
15543     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>15544     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
15545         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15546         unsafe {
15547             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15548             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
15549         }
15550     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>15551     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
15552         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15553         unsafe {
15554             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15555             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
15556         }
15557     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>15558     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
15559         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15560         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
15561     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>15562     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
15563         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15564         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
15565     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>15566     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
15567         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15568         unsafe {
15569             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
15570             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
15571         }
15572     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>15573     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15574         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15575         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15576     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>15577     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
15578         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15579         unsafe {
15580             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15581             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
15582         }
15583     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>15584     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15585         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15586         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15587     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>15588     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15589         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15590         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15591     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>15592     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15593         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15594         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15595     }
15596     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>15597     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
15598         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
15599         unsafe {
15600             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15601             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
15602         }
15603     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>15604     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
15605         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
15606         unsafe {
15607             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15608             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
15609         }
15610     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>15611     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
15612         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
15613         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
15614     }
15615 }
15616 #[cfg(feature = "Foundation_Collections")]
15617 unsafe impl ::windows::runtime::RuntimeType for CompositionShapeCollection {
15618     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionShapeCollection;pinterface({913337e9-11a1-4345-a3a2-4e7f956e222d};rc(Windows.UI.Composition.CompositionShape;{b47ce2f7-9a88-42c4-9e87-2e500ca8688c})))");
15619 }
15620 #[cfg(feature = "Foundation_Collections")]
15621 unsafe impl ::windows::runtime::Interface for CompositionShapeCollection {
15622     type Vtable = super::super::Foundation::Collections::IVector_abi<CompositionShape>;
15623     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_signature(<super::super::Foundation::Collections::IVector<CompositionShape> as ::windows::runtime::RuntimeType>::SIGNATURE);
15624 }
15625 #[cfg(feature = "Foundation_Collections")]
15626 impl ::windows::runtime::RuntimeName for CompositionShapeCollection {
15627     const NAME: &'static str = "Windows.UI.Composition.CompositionShapeCollection";
15628 }
15629 #[cfg(feature = "Foundation_Collections")]
15630 impl ::std::convert::From<CompositionShapeCollection> for ::windows::runtime::IUnknown {
from(value: CompositionShapeCollection) -> Self15631     fn from(value: CompositionShapeCollection) -> Self {
15632         unsafe { ::std::mem::transmute(value) }
15633     }
15634 }
15635 #[cfg(feature = "Foundation_Collections")]
15636 impl ::std::convert::From<&CompositionShapeCollection> for ::windows::runtime::IUnknown {
from(value: &CompositionShapeCollection) -> Self15637     fn from(value: &CompositionShapeCollection) -> Self {
15638         ::std::convert::From::from(::std::clone::Clone::clone(value))
15639     }
15640 }
15641 #[cfg(feature = "Foundation_Collections")]
15642 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15643     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15644         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
15645     }
15646 }
15647 #[cfg(feature = "Foundation_Collections")]
15648 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>15649     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
15650         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
15651     }
15652 }
15653 #[cfg(feature = "Foundation_Collections")]
15654 impl ::std::convert::From<CompositionShapeCollection> for ::windows::runtime::IInspectable {
from(value: CompositionShapeCollection) -> Self15655     fn from(value: CompositionShapeCollection) -> Self {
15656         value.0
15657     }
15658 }
15659 #[cfg(feature = "Foundation_Collections")]
15660 impl ::std::convert::From<&CompositionShapeCollection> for ::windows::runtime::IInspectable {
from(value: &CompositionShapeCollection) -> Self15661     fn from(value: &CompositionShapeCollection) -> Self {
15662         value.0.clone()
15663     }
15664 }
15665 #[cfg(feature = "Foundation_Collections")]
15666 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>15667     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
15668         ::windows::runtime::Param::Owned(self.0)
15669     }
15670 }
15671 #[cfg(feature = "Foundation_Collections")]
15672 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>15673     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
15674         ::windows::runtime::Param::Borrowed(&self.0)
15675     }
15676 }
15677 #[cfg(feature = "Foundation_Collections")]
15678 impl ::std::convert::From<CompositionShapeCollection> for super::super::Foundation::Collections::IVector<CompositionShape> {
from(value: CompositionShapeCollection) -> Self15679     fn from(value: CompositionShapeCollection) -> Self {
15680         unsafe { ::std::mem::transmute(value) }
15681     }
15682 }
15683 #[cfg(feature = "Foundation_Collections")]
15684 impl ::std::convert::From<&CompositionShapeCollection> for super::super::Foundation::Collections::IVector<CompositionShape> {
from(value: &CompositionShapeCollection) -> Self15685     fn from(value: &CompositionShapeCollection) -> Self {
15686         ::std::convert::From::from(::std::clone::Clone::clone(value))
15687     }
15688 }
15689 #[cfg(feature = "Foundation_Collections")]
15690 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVector<CompositionShape>> for CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<CompositionShape>>15691     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<CompositionShape>> {
15692         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVector<CompositionShape>>::into(self))
15693     }
15694 }
15695 #[cfg(feature = "Foundation_Collections")]
15696 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVector<CompositionShape>> for &CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<CompositionShape>>15697     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<CompositionShape>> {
15698         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVector<CompositionShape>>::into(::std::clone::Clone::clone(self)))
15699     }
15700 }
15701 #[cfg(feature = "Foundation_Collections")]
15702 impl ::std::convert::TryFrom<CompositionShapeCollection> for super::super::Foundation::Collections::IIterable<CompositionShape> {
15703     type Error = ::windows::runtime::Error;
try_from(value: CompositionShapeCollection) -> ::windows::runtime::Result<Self>15704     fn try_from(value: CompositionShapeCollection) -> ::windows::runtime::Result<Self> {
15705         ::std::convert::TryFrom::try_from(&value)
15706     }
15707 }
15708 #[cfg(feature = "Foundation_Collections")]
15709 impl ::std::convert::TryFrom<&CompositionShapeCollection> for super::super::Foundation::Collections::IIterable<CompositionShape> {
15710     type Error = ::windows::runtime::Error;
try_from(value: &CompositionShapeCollection) -> ::windows::runtime::Result<Self>15711     fn try_from(value: &CompositionShapeCollection) -> ::windows::runtime::Result<Self> {
15712         ::windows::runtime::Interface::cast(value)
15713     }
15714 }
15715 #[cfg(feature = "Foundation_Collections")]
15716 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionShape>> for CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionShape>>15717     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionShape>> {
15718         ::windows::runtime::IntoParam::into_param(&self)
15719     }
15720 }
15721 #[cfg(feature = "Foundation_Collections")]
15722 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<CompositionShape>> for &CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionShape>>15723     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<CompositionShape>> {
15724         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<CompositionShape>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
15725     }
15726 }
15727 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
15728 impl ::std::convert::TryFrom<CompositionShapeCollection> for super::super::Foundation::IClosable {
15729     type Error = ::windows::runtime::Error;
try_from(value: CompositionShapeCollection) -> ::windows::runtime::Result<Self>15730     fn try_from(value: CompositionShapeCollection) -> ::windows::runtime::Result<Self> {
15731         ::std::convert::TryFrom::try_from(&value)
15732     }
15733 }
15734 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
15735 impl ::std::convert::TryFrom<&CompositionShapeCollection> for super::super::Foundation::IClosable {
15736     type Error = ::windows::runtime::Error;
try_from(value: &CompositionShapeCollection) -> ::windows::runtime::Result<Self>15737     fn try_from(value: &CompositionShapeCollection) -> ::windows::runtime::Result<Self> {
15738         ::windows::runtime::Interface::cast(value)
15739     }
15740 }
15741 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
15742 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>15743     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
15744         ::windows::runtime::IntoParam::into_param(&self)
15745     }
15746 }
15747 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
15748 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>15749     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
15750         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
15751     }
15752 }
15753 #[cfg(feature = "Foundation_Collections")]
15754 impl ::std::convert::TryFrom<CompositionShapeCollection> for IAnimationObject {
15755     type Error = ::windows::runtime::Error;
try_from(value: CompositionShapeCollection) -> ::windows::runtime::Result<Self>15756     fn try_from(value: CompositionShapeCollection) -> ::windows::runtime::Result<Self> {
15757         ::std::convert::TryFrom::try_from(&value)
15758     }
15759 }
15760 #[cfg(feature = "Foundation_Collections")]
15761 impl ::std::convert::TryFrom<&CompositionShapeCollection> for IAnimationObject {
15762     type Error = ::windows::runtime::Error;
try_from(value: &CompositionShapeCollection) -> ::windows::runtime::Result<Self>15763     fn try_from(value: &CompositionShapeCollection) -> ::windows::runtime::Result<Self> {
15764         ::windows::runtime::Interface::cast(value)
15765     }
15766 }
15767 #[cfg(feature = "Foundation_Collections")]
15768 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>15769     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
15770         ::windows::runtime::IntoParam::into_param(&self)
15771     }
15772 }
15773 #[cfg(feature = "Foundation_Collections")]
15774 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>15775     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
15776         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
15777     }
15778 }
15779 #[cfg(feature = "Foundation_Collections")]
15780 impl ::std::convert::From<CompositionShapeCollection> for CompositionObject {
from(value: CompositionShapeCollection) -> Self15781     fn from(value: CompositionShapeCollection) -> Self {
15782         ::std::convert::Into::<CompositionObject>::into(&value)
15783     }
15784 }
15785 #[cfg(feature = "Foundation_Collections")]
15786 impl ::std::convert::From<&CompositionShapeCollection> for CompositionObject {
from(value: &CompositionShapeCollection) -> Self15787     fn from(value: &CompositionShapeCollection) -> Self {
15788         ::windows::runtime::Interface::cast(value).unwrap()
15789     }
15790 }
15791 #[cfg(feature = "Foundation_Collections")]
15792 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>15793     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
15794         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
15795     }
15796 }
15797 #[cfg(feature = "Foundation_Collections")]
15798 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionShapeCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>15799     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
15800         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
15801     }
15802 }
15803 #[cfg(feature = "Foundation_Collections")]
15804 unsafe impl ::std::marker::Send for CompositionShapeCollection {}
15805 #[cfg(feature = "Foundation_Collections")]
15806 unsafe impl ::std::marker::Sync for CompositionShapeCollection {}
15807 #[cfg(all(feature = "Foundation_Collections"))]
15808 impl ::std::iter::IntoIterator for CompositionShapeCollection {
15809     type Item = CompositionShape;
15810     type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
into_iter(self) -> Self::IntoIter15811     fn into_iter(self) -> Self::IntoIter {
15812         ::std::iter::IntoIterator::into_iter(&self)
15813     }
15814 }
15815 #[cfg(all(feature = "Foundation_Collections"))]
15816 impl ::std::iter::IntoIterator for &CompositionShapeCollection {
15817     type Item = CompositionShape;
15818     type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
into_iter(self) -> Self::IntoIter15819     fn into_iter(self) -> Self::IntoIter {
15820         super::super::Foundation::Collections::VectorIterator::new(::std::convert::TryInto::try_into(self).ok())
15821     }
15822 }
15823 #[repr(transparent)]
15824 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
15825 pub struct CompositionSpriteShape(::windows::runtime::IInspectable);
15826 impl CompositionSpriteShape {
FillBrush(&self) -> ::windows::runtime::Result<CompositionBrush>15827     pub fn FillBrush(&self) -> ::windows::runtime::Result<CompositionBrush> {
15828         let this = self;
15829         unsafe {
15830             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15831             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBrush>(result__)
15832         }
15833     }
SetFillBrush<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>15834     pub fn SetFillBrush<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15835         let this = self;
15836         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15837     }
Geometry(&self) -> ::windows::runtime::Result<CompositionGeometry>15838     pub fn Geometry(&self) -> ::windows::runtime::Result<CompositionGeometry> {
15839         let this = self;
15840         unsafe {
15841             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15842             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionGeometry>(result__)
15843         }
15844     }
SetGeometry<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionGeometry>>(&self, value: Param0) -> ::windows::runtime::Result<()>15845     pub fn SetGeometry<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionGeometry>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15846         let this = self;
15847         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15848     }
IsStrokeNonScaling(&self) -> ::windows::runtime::Result<bool>15849     pub fn IsStrokeNonScaling(&self) -> ::windows::runtime::Result<bool> {
15850         let this = self;
15851         unsafe {
15852             let mut result__: bool = ::std::mem::zeroed();
15853             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
15854         }
15855     }
SetIsStrokeNonScaling(&self, value: bool) -> ::windows::runtime::Result<()>15856     pub fn SetIsStrokeNonScaling(&self, value: bool) -> ::windows::runtime::Result<()> {
15857         let this = self;
15858         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
15859     }
StrokeBrush(&self) -> ::windows::runtime::Result<CompositionBrush>15860     pub fn StrokeBrush(&self) -> ::windows::runtime::Result<CompositionBrush> {
15861         let this = self;
15862         unsafe {
15863             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15864             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBrush>(result__)
15865         }
15866     }
SetStrokeBrush<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>15867     pub fn SetStrokeBrush<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15868         let this = self;
15869         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
15870     }
15871     #[cfg(feature = "Foundation_Collections")]
StrokeDashArray(&self) -> ::windows::runtime::Result<CompositionStrokeDashArray>15872     pub fn StrokeDashArray(&self) -> ::windows::runtime::Result<CompositionStrokeDashArray> {
15873         let this = self;
15874         unsafe {
15875             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15876             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionStrokeDashArray>(result__)
15877         }
15878     }
StrokeDashCap(&self) -> ::windows::runtime::Result<CompositionStrokeCap>15879     pub fn StrokeDashCap(&self) -> ::windows::runtime::Result<CompositionStrokeCap> {
15880         let this = self;
15881         unsafe {
15882             let mut result__: CompositionStrokeCap = ::std::mem::zeroed();
15883             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionStrokeCap>(result__)
15884         }
15885     }
SetStrokeDashCap(&self, value: CompositionStrokeCap) -> ::windows::runtime::Result<()>15886     pub fn SetStrokeDashCap(&self, value: CompositionStrokeCap) -> ::windows::runtime::Result<()> {
15887         let this = self;
15888         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
15889     }
StrokeDashOffset(&self) -> ::windows::runtime::Result<f32>15890     pub fn StrokeDashOffset(&self) -> ::windows::runtime::Result<f32> {
15891         let this = self;
15892         unsafe {
15893             let mut result__: f32 = ::std::mem::zeroed();
15894             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
15895         }
15896     }
SetStrokeDashOffset(&self, value: f32) -> ::windows::runtime::Result<()>15897     pub fn SetStrokeDashOffset(&self, value: f32) -> ::windows::runtime::Result<()> {
15898         let this = self;
15899         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value).ok() }
15900     }
StrokeEndCap(&self) -> ::windows::runtime::Result<CompositionStrokeCap>15901     pub fn StrokeEndCap(&self) -> ::windows::runtime::Result<CompositionStrokeCap> {
15902         let this = self;
15903         unsafe {
15904             let mut result__: CompositionStrokeCap = ::std::mem::zeroed();
15905             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionStrokeCap>(result__)
15906         }
15907     }
SetStrokeEndCap(&self, value: CompositionStrokeCap) -> ::windows::runtime::Result<()>15908     pub fn SetStrokeEndCap(&self, value: CompositionStrokeCap) -> ::windows::runtime::Result<()> {
15909         let this = self;
15910         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value).ok() }
15911     }
StrokeLineJoin(&self) -> ::windows::runtime::Result<CompositionStrokeLineJoin>15912     pub fn StrokeLineJoin(&self) -> ::windows::runtime::Result<CompositionStrokeLineJoin> {
15913         let this = self;
15914         unsafe {
15915             let mut result__: CompositionStrokeLineJoin = ::std::mem::zeroed();
15916             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionStrokeLineJoin>(result__)
15917         }
15918     }
SetStrokeLineJoin(&self, value: CompositionStrokeLineJoin) -> ::windows::runtime::Result<()>15919     pub fn SetStrokeLineJoin(&self, value: CompositionStrokeLineJoin) -> ::windows::runtime::Result<()> {
15920         let this = self;
15921         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), value).ok() }
15922     }
StrokeMiterLimit(&self) -> ::windows::runtime::Result<f32>15923     pub fn StrokeMiterLimit(&self) -> ::windows::runtime::Result<f32> {
15924         let this = self;
15925         unsafe {
15926             let mut result__: f32 = ::std::mem::zeroed();
15927             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
15928         }
15929     }
SetStrokeMiterLimit(&self, value: f32) -> ::windows::runtime::Result<()>15930     pub fn SetStrokeMiterLimit(&self, value: f32) -> ::windows::runtime::Result<()> {
15931         let this = self;
15932         unsafe { (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), value).ok() }
15933     }
StrokeStartCap(&self) -> ::windows::runtime::Result<CompositionStrokeCap>15934     pub fn StrokeStartCap(&self) -> ::windows::runtime::Result<CompositionStrokeCap> {
15935         let this = self;
15936         unsafe {
15937             let mut result__: CompositionStrokeCap = ::std::mem::zeroed();
15938             (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionStrokeCap>(result__)
15939         }
15940     }
SetStrokeStartCap(&self, value: CompositionStrokeCap) -> ::windows::runtime::Result<()>15941     pub fn SetStrokeStartCap(&self, value: CompositionStrokeCap) -> ::windows::runtime::Result<()> {
15942         let this = self;
15943         unsafe { (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), value).ok() }
15944     }
StrokeThickness(&self) -> ::windows::runtime::Result<f32>15945     pub fn StrokeThickness(&self) -> ::windows::runtime::Result<f32> {
15946         let this = self;
15947         unsafe {
15948             let mut result__: f32 = ::std::mem::zeroed();
15949             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
15950         }
15951     }
SetStrokeThickness(&self, value: f32) -> ::windows::runtime::Result<()>15952     pub fn SetStrokeThickness(&self, value: f32) -> ::windows::runtime::Result<()> {
15953         let this = self;
15954         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
15955     }
15956     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>15957     pub fn Close(&self) -> ::windows::runtime::Result<()> {
15958         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
15959         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
15960     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>15961     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
15962         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15963         unsafe {
15964             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15965             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
15966         }
15967     }
15968     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>15969     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
15970         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15971         unsafe {
15972             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15973             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
15974         }
15975     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>15976     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
15977         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15978         unsafe {
15979             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
15980             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
15981         }
15982     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>15983     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
15984         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15985         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
15986     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>15987     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
15988         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
15989         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
15990     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>15991     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
15992         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
15993         unsafe {
15994             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
15995             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
15996         }
15997     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>15998     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
15999         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16000         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16001     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>16002     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
16003         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16004         unsafe {
16005             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16006             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
16007         }
16008     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>16009     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16010         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16011         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16012     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>16013     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16014         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16015         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16016     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>16017     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16018         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16019         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16020     }
16021     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>16022     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
16023         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
16024         unsafe {
16025             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16026             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
16027         }
16028     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>16029     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
16030         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
16031         unsafe {
16032             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16033             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
16034         }
16035     }
16036     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>16037     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
16038         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16039         unsafe {
16040             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
16041             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
16042         }
16043     }
16044     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>16045     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16046         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16047         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16048     }
16049     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>16050     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
16051         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16052         unsafe {
16053             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
16054             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
16055         }
16056     }
16057     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>16058     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16059         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16060         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16061     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>16062     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
16063         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16064         unsafe {
16065             let mut result__: f32 = ::std::mem::zeroed();
16066             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
16067         }
16068     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>16069     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
16070         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16071         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
16072     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>16073     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
16074         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16075         unsafe {
16076             let mut result__: f32 = ::std::mem::zeroed();
16077             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
16078         }
16079     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>16080     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
16081         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16082         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
16083     }
16084     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>16085     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
16086         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16087         unsafe {
16088             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
16089             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
16090         }
16091     }
16092     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>16093     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16094         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16095         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16096     }
16097     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>16098     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
16099         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16100         unsafe {
16101             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
16102             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
16103         }
16104     }
16105     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>16106     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16107         let this = &::windows::runtime::Interface::cast::<ICompositionShape>(self)?;
16108         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16109     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>16110     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
16111         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
16112         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
16113     }
16114 }
16115 unsafe impl ::windows::runtime::RuntimeType for CompositionSpriteShape {
16116     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionSpriteShape;{401b61bb-0007-4363-b1f3-6bcc003fb83e})");
16117 }
16118 unsafe impl ::windows::runtime::Interface for CompositionSpriteShape {
16119     type Vtable = ICompositionSpriteShape_abi;
16120     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1075536315, 7, 17251, [177, 243, 107, 204, 0, 63, 184, 62]);
16121 }
16122 impl ::windows::runtime::RuntimeName for CompositionSpriteShape {
16123     const NAME: &'static str = "Windows.UI.Composition.CompositionSpriteShape";
16124 }
16125 impl ::std::convert::From<CompositionSpriteShape> for ::windows::runtime::IUnknown {
from(value: CompositionSpriteShape) -> Self16126     fn from(value: CompositionSpriteShape) -> Self {
16127         unsafe { ::std::mem::transmute(value) }
16128     }
16129 }
16130 impl ::std::convert::From<&CompositionSpriteShape> for ::windows::runtime::IUnknown {
from(value: &CompositionSpriteShape) -> Self16131     fn from(value: &CompositionSpriteShape) -> Self {
16132         ::std::convert::From::from(::std::clone::Clone::clone(value))
16133     }
16134 }
16135 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16136     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16137         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16138     }
16139 }
16140 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16141     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16142         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16143     }
16144 }
16145 impl ::std::convert::From<CompositionSpriteShape> for ::windows::runtime::IInspectable {
from(value: CompositionSpriteShape) -> Self16146     fn from(value: CompositionSpriteShape) -> Self {
16147         value.0
16148     }
16149 }
16150 impl ::std::convert::From<&CompositionSpriteShape> for ::windows::runtime::IInspectable {
from(value: &CompositionSpriteShape) -> Self16151     fn from(value: &CompositionSpriteShape) -> Self {
16152         value.0.clone()
16153     }
16154 }
16155 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>16156     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
16157         ::windows::runtime::Param::Owned(self.0)
16158     }
16159 }
16160 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>16161     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
16162         ::windows::runtime::Param::Borrowed(&self.0)
16163     }
16164 }
16165 #[cfg(feature = "Foundation")]
16166 impl ::std::convert::TryFrom<CompositionSpriteShape> for super::super::Foundation::IClosable {
16167     type Error = ::windows::runtime::Error;
try_from(value: CompositionSpriteShape) -> ::windows::runtime::Result<Self>16168     fn try_from(value: CompositionSpriteShape) -> ::windows::runtime::Result<Self> {
16169         ::std::convert::TryFrom::try_from(&value)
16170     }
16171 }
16172 #[cfg(feature = "Foundation")]
16173 impl ::std::convert::TryFrom<&CompositionSpriteShape> for super::super::Foundation::IClosable {
16174     type Error = ::windows::runtime::Error;
try_from(value: &CompositionSpriteShape) -> ::windows::runtime::Result<Self>16175     fn try_from(value: &CompositionSpriteShape) -> ::windows::runtime::Result<Self> {
16176         ::windows::runtime::Interface::cast(value)
16177     }
16178 }
16179 #[cfg(feature = "Foundation")]
16180 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>16181     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
16182         ::windows::runtime::IntoParam::into_param(&self)
16183     }
16184 }
16185 #[cfg(feature = "Foundation")]
16186 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>16187     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
16188         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
16189     }
16190 }
16191 impl ::std::convert::TryFrom<CompositionSpriteShape> for IAnimationObject {
16192     type Error = ::windows::runtime::Error;
try_from(value: CompositionSpriteShape) -> ::windows::runtime::Result<Self>16193     fn try_from(value: CompositionSpriteShape) -> ::windows::runtime::Result<Self> {
16194         ::std::convert::TryFrom::try_from(&value)
16195     }
16196 }
16197 impl ::std::convert::TryFrom<&CompositionSpriteShape> for IAnimationObject {
16198     type Error = ::windows::runtime::Error;
try_from(value: &CompositionSpriteShape) -> ::windows::runtime::Result<Self>16199     fn try_from(value: &CompositionSpriteShape) -> ::windows::runtime::Result<Self> {
16200         ::windows::runtime::Interface::cast(value)
16201     }
16202 }
16203 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>16204     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
16205         ::windows::runtime::IntoParam::into_param(&self)
16206     }
16207 }
16208 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>16209     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
16210         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
16211     }
16212 }
16213 impl ::std::convert::From<CompositionSpriteShape> for CompositionShape {
from(value: CompositionSpriteShape) -> Self16214     fn from(value: CompositionSpriteShape) -> Self {
16215         ::std::convert::Into::<CompositionShape>::into(&value)
16216     }
16217 }
16218 impl ::std::convert::From<&CompositionSpriteShape> for CompositionShape {
from(value: &CompositionSpriteShape) -> Self16219     fn from(value: &CompositionSpriteShape) -> Self {
16220         ::windows::runtime::Interface::cast(value).unwrap()
16221     }
16222 }
16223 impl<'a> ::windows::runtime::IntoParam<'a, CompositionShape> for CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionShape>16224     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionShape> {
16225         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionShape>::into(self))
16226     }
16227 }
16228 impl<'a> ::windows::runtime::IntoParam<'a, CompositionShape> for &CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionShape>16229     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionShape> {
16230         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionShape>::into(::std::clone::Clone::clone(self)))
16231     }
16232 }
16233 impl ::std::convert::From<CompositionSpriteShape> for CompositionObject {
from(value: CompositionSpriteShape) -> Self16234     fn from(value: CompositionSpriteShape) -> Self {
16235         ::std::convert::Into::<CompositionObject>::into(&value)
16236     }
16237 }
16238 impl ::std::convert::From<&CompositionSpriteShape> for CompositionObject {
from(value: &CompositionSpriteShape) -> Self16239     fn from(value: &CompositionSpriteShape) -> Self {
16240         ::windows::runtime::Interface::cast(value).unwrap()
16241     }
16242 }
16243 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>16244     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
16245         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
16246     }
16247 }
16248 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionSpriteShape {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>16249     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
16250         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
16251     }
16252 }
16253 unsafe impl ::std::marker::Send for CompositionSpriteShape {}
16254 unsafe impl ::std::marker::Sync for CompositionSpriteShape {}
16255 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16256 #[repr(transparent)]
16257 pub struct CompositionStretch(pub i32);
16258 impl CompositionStretch {
16259     pub const None: CompositionStretch = CompositionStretch(0i32);
16260     pub const Fill: CompositionStretch = CompositionStretch(1i32);
16261     pub const Uniform: CompositionStretch = CompositionStretch(2i32);
16262     pub const UniformToFill: CompositionStretch = CompositionStretch(3i32);
16263 }
16264 impl ::std::convert::From<i32> for CompositionStretch {
from(value: i32) -> Self16265     fn from(value: i32) -> Self {
16266         Self(value)
16267     }
16268 }
16269 unsafe impl ::windows::runtime::Abi for CompositionStretch {
16270     type Abi = Self;
16271     type DefaultType = Self;
16272 }
16273 unsafe impl ::windows::runtime::RuntimeType for CompositionStretch {
16274     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionStretch;i4)");
16275 }
16276 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16277 #[repr(transparent)]
16278 pub struct CompositionStrokeCap(pub i32);
16279 impl CompositionStrokeCap {
16280     pub const Flat: CompositionStrokeCap = CompositionStrokeCap(0i32);
16281     pub const Square: CompositionStrokeCap = CompositionStrokeCap(1i32);
16282     pub const Round: CompositionStrokeCap = CompositionStrokeCap(2i32);
16283     pub const Triangle: CompositionStrokeCap = CompositionStrokeCap(3i32);
16284 }
16285 impl ::std::convert::From<i32> for CompositionStrokeCap {
from(value: i32) -> Self16286     fn from(value: i32) -> Self {
16287         Self(value)
16288     }
16289 }
16290 unsafe impl ::windows::runtime::Abi for CompositionStrokeCap {
16291     type Abi = Self;
16292     type DefaultType = Self;
16293 }
16294 unsafe impl ::windows::runtime::RuntimeType for CompositionStrokeCap {
16295     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionStrokeCap;i4)");
16296 }
16297 #[cfg(feature = "Foundation_Collections")]
16298 #[repr(transparent)]
16299 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16300 pub struct CompositionStrokeDashArray(::windows::runtime::IInspectable);
16301 #[cfg(feature = "Foundation_Collections")]
16302 impl CompositionStrokeDashArray {
16303     #[cfg(feature = "Foundation_Collections")]
GetAt(&self, index: u32) -> ::windows::runtime::Result<f32>16304     pub fn GetAt(&self, index: u32) -> ::windows::runtime::Result<f32> {
16305         let this = self;
16306         unsafe {
16307             let mut result__: f32 = ::std::mem::zeroed();
16308             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), index, &mut result__).from_abi::<f32>(result__)
16309         }
16310     }
16311     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>16312     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
16313         let this = self;
16314         unsafe {
16315             let mut result__: u32 = ::std::mem::zeroed();
16316             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
16317         }
16318     }
16319     #[cfg(feature = "Foundation_Collections")]
GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<f32>>16320     pub fn GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<f32>> {
16321         let this = self;
16322         unsafe {
16323             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16324             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<f32>>(result__)
16325         }
16326     }
16327     #[cfg(feature = "Foundation_Collections")]
IndexOf(&self, value: f32, index: &mut u32) -> ::windows::runtime::Result<bool>16328     pub fn IndexOf(&self, value: f32, index: &mut u32) -> ::windows::runtime::Result<bool> {
16329         let this = self;
16330         unsafe {
16331             let mut result__: bool = ::std::mem::zeroed();
16332             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value, index, &mut result__).from_abi::<bool>(result__)
16333         }
16334     }
16335     #[cfg(feature = "Foundation_Collections")]
SetAt(&self, index: u32, value: f32) -> ::windows::runtime::Result<()>16336     pub fn SetAt(&self, index: u32, value: f32) -> ::windows::runtime::Result<()> {
16337         let this = self;
16338         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), index, value).ok() }
16339     }
16340     #[cfg(feature = "Foundation_Collections")]
InsertAt(&self, index: u32, value: f32) -> ::windows::runtime::Result<()>16341     pub fn InsertAt(&self, index: u32, value: f32) -> ::windows::runtime::Result<()> {
16342         let this = self;
16343         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), index, value).ok() }
16344     }
16345     #[cfg(feature = "Foundation_Collections")]
RemoveAt(&self, index: u32) -> ::windows::runtime::Result<()>16346     pub fn RemoveAt(&self, index: u32) -> ::windows::runtime::Result<()> {
16347         let this = self;
16348         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), index).ok() }
16349     }
16350     #[cfg(feature = "Foundation_Collections")]
Append(&self, value: f32) -> ::windows::runtime::Result<()>16351     pub fn Append(&self, value: f32) -> ::windows::runtime::Result<()> {
16352         let this = self;
16353         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
16354     }
16355     #[cfg(feature = "Foundation_Collections")]
RemoveAtEnd(&self) -> ::windows::runtime::Result<()>16356     pub fn RemoveAtEnd(&self) -> ::windows::runtime::Result<()> {
16357         let this = self;
16358         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this)).ok() }
16359     }
16360     #[cfg(feature = "Foundation_Collections")]
Clear(&self) -> ::windows::runtime::Result<()>16361     pub fn Clear(&self) -> ::windows::runtime::Result<()> {
16362         let this = self;
16363         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this)).ok() }
16364     }
16365     #[cfg(feature = "Foundation_Collections")]
GetMany(&self, startindex: u32, items: &mut [<f32 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32>16366     pub fn GetMany(&self, startindex: u32, items: &mut [<f32 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32> {
16367         let this = self;
16368         unsafe {
16369             let mut result__: u32 = ::std::mem::zeroed();
16370             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), startindex, items.len() as u32, ::std::mem::transmute_copy(&items), &mut result__).from_abi::<u32>(result__)
16371         }
16372     }
16373     #[cfg(feature = "Foundation_Collections")]
ReplaceAll(&self, items: &[<f32 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()>16374     pub fn ReplaceAll(&self, items: &[<f32 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()> {
16375         let this = self;
16376         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), items.len() as u32, ::std::mem::transmute(items.as_ptr())).ok() }
16377     }
16378     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<f32>>16379     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<f32>> {
16380         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<f32>>(self)?;
16381         unsafe {
16382             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16383             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<f32>>(result__)
16384         }
16385     }
16386     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>16387     pub fn Close(&self) -> ::windows::runtime::Result<()> {
16388         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
16389         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
16390     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>16391     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
16392         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16393         unsafe {
16394             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16395             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
16396         }
16397     }
16398     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>16399     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
16400         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16401         unsafe {
16402             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16403             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
16404         }
16405     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>16406     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
16407         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16408         unsafe {
16409             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16410             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
16411         }
16412     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>16413     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
16414         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16415         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
16416     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>16417     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
16418         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16419         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
16420     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>16421     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
16422         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16423         unsafe {
16424             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
16425             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
16426         }
16427     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>16428     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16429         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16430         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16431     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>16432     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
16433         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16434         unsafe {
16435             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16436             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
16437         }
16438     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>16439     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16440         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16441         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16442     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>16443     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16444         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16445         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16446     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>16447     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16448         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16449         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16450     }
16451     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>16452     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
16453         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
16454         unsafe {
16455             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16456             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
16457         }
16458     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>16459     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
16460         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
16461         unsafe {
16462             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16463             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
16464         }
16465     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>16466     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
16467         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
16468         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
16469     }
16470 }
16471 #[cfg(feature = "Foundation_Collections")]
16472 unsafe impl ::windows::runtime::RuntimeType for CompositionStrokeDashArray {
16473     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionStrokeDashArray;pinterface({913337e9-11a1-4345-a3a2-4e7f956e222d};f4))");
16474 }
16475 #[cfg(feature = "Foundation_Collections")]
16476 unsafe impl ::windows::runtime::Interface for CompositionStrokeDashArray {
16477     type Vtable = super::super::Foundation::Collections::IVector_abi<f32>;
16478     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_signature(<super::super::Foundation::Collections::IVector<f32> as ::windows::runtime::RuntimeType>::SIGNATURE);
16479 }
16480 #[cfg(feature = "Foundation_Collections")]
16481 impl ::windows::runtime::RuntimeName for CompositionStrokeDashArray {
16482     const NAME: &'static str = "Windows.UI.Composition.CompositionStrokeDashArray";
16483 }
16484 #[cfg(feature = "Foundation_Collections")]
16485 impl ::std::convert::From<CompositionStrokeDashArray> for ::windows::runtime::IUnknown {
from(value: CompositionStrokeDashArray) -> Self16486     fn from(value: CompositionStrokeDashArray) -> Self {
16487         unsafe { ::std::mem::transmute(value) }
16488     }
16489 }
16490 #[cfg(feature = "Foundation_Collections")]
16491 impl ::std::convert::From<&CompositionStrokeDashArray> for ::windows::runtime::IUnknown {
from(value: &CompositionStrokeDashArray) -> Self16492     fn from(value: &CompositionStrokeDashArray) -> Self {
16493         ::std::convert::From::from(::std::clone::Clone::clone(value))
16494     }
16495 }
16496 #[cfg(feature = "Foundation_Collections")]
16497 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16498     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16499         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16500     }
16501 }
16502 #[cfg(feature = "Foundation_Collections")]
16503 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16504     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16505         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16506     }
16507 }
16508 #[cfg(feature = "Foundation_Collections")]
16509 impl ::std::convert::From<CompositionStrokeDashArray> for ::windows::runtime::IInspectable {
from(value: CompositionStrokeDashArray) -> Self16510     fn from(value: CompositionStrokeDashArray) -> Self {
16511         value.0
16512     }
16513 }
16514 #[cfg(feature = "Foundation_Collections")]
16515 impl ::std::convert::From<&CompositionStrokeDashArray> for ::windows::runtime::IInspectable {
from(value: &CompositionStrokeDashArray) -> Self16516     fn from(value: &CompositionStrokeDashArray) -> Self {
16517         value.0.clone()
16518     }
16519 }
16520 #[cfg(feature = "Foundation_Collections")]
16521 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>16522     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
16523         ::windows::runtime::Param::Owned(self.0)
16524     }
16525 }
16526 #[cfg(feature = "Foundation_Collections")]
16527 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>16528     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
16529         ::windows::runtime::Param::Borrowed(&self.0)
16530     }
16531 }
16532 #[cfg(feature = "Foundation_Collections")]
16533 impl ::std::convert::From<CompositionStrokeDashArray> for super::super::Foundation::Collections::IVector<f32> {
from(value: CompositionStrokeDashArray) -> Self16534     fn from(value: CompositionStrokeDashArray) -> Self {
16535         unsafe { ::std::mem::transmute(value) }
16536     }
16537 }
16538 #[cfg(feature = "Foundation_Collections")]
16539 impl ::std::convert::From<&CompositionStrokeDashArray> for super::super::Foundation::Collections::IVector<f32> {
from(value: &CompositionStrokeDashArray) -> Self16540     fn from(value: &CompositionStrokeDashArray) -> Self {
16541         ::std::convert::From::from(::std::clone::Clone::clone(value))
16542     }
16543 }
16544 #[cfg(feature = "Foundation_Collections")]
16545 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVector<f32>> for CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<f32>>16546     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<f32>> {
16547         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVector<f32>>::into(self))
16548     }
16549 }
16550 #[cfg(feature = "Foundation_Collections")]
16551 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVector<f32>> for &CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<f32>>16552     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVector<f32>> {
16553         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVector<f32>>::into(::std::clone::Clone::clone(self)))
16554     }
16555 }
16556 #[cfg(feature = "Foundation_Collections")]
16557 impl ::std::convert::TryFrom<CompositionStrokeDashArray> for super::super::Foundation::Collections::IIterable<f32> {
16558     type Error = ::windows::runtime::Error;
try_from(value: CompositionStrokeDashArray) -> ::windows::runtime::Result<Self>16559     fn try_from(value: CompositionStrokeDashArray) -> ::windows::runtime::Result<Self> {
16560         ::std::convert::TryFrom::try_from(&value)
16561     }
16562 }
16563 #[cfg(feature = "Foundation_Collections")]
16564 impl ::std::convert::TryFrom<&CompositionStrokeDashArray> for super::super::Foundation::Collections::IIterable<f32> {
16565     type Error = ::windows::runtime::Error;
try_from(value: &CompositionStrokeDashArray) -> ::windows::runtime::Result<Self>16566     fn try_from(value: &CompositionStrokeDashArray) -> ::windows::runtime::Result<Self> {
16567         ::windows::runtime::Interface::cast(value)
16568     }
16569 }
16570 #[cfg(feature = "Foundation_Collections")]
16571 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<f32>> for CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<f32>>16572     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<f32>> {
16573         ::windows::runtime::IntoParam::into_param(&self)
16574     }
16575 }
16576 #[cfg(feature = "Foundation_Collections")]
16577 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<f32>> for &CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<f32>>16578     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<f32>> {
16579         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<f32>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
16580     }
16581 }
16582 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
16583 impl ::std::convert::TryFrom<CompositionStrokeDashArray> for super::super::Foundation::IClosable {
16584     type Error = ::windows::runtime::Error;
try_from(value: CompositionStrokeDashArray) -> ::windows::runtime::Result<Self>16585     fn try_from(value: CompositionStrokeDashArray) -> ::windows::runtime::Result<Self> {
16586         ::std::convert::TryFrom::try_from(&value)
16587     }
16588 }
16589 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
16590 impl ::std::convert::TryFrom<&CompositionStrokeDashArray> for super::super::Foundation::IClosable {
16591     type Error = ::windows::runtime::Error;
try_from(value: &CompositionStrokeDashArray) -> ::windows::runtime::Result<Self>16592     fn try_from(value: &CompositionStrokeDashArray) -> ::windows::runtime::Result<Self> {
16593         ::windows::runtime::Interface::cast(value)
16594     }
16595 }
16596 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
16597 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>16598     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
16599         ::windows::runtime::IntoParam::into_param(&self)
16600     }
16601 }
16602 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
16603 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>16604     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
16605         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
16606     }
16607 }
16608 #[cfg(feature = "Foundation_Collections")]
16609 impl ::std::convert::TryFrom<CompositionStrokeDashArray> for IAnimationObject {
16610     type Error = ::windows::runtime::Error;
try_from(value: CompositionStrokeDashArray) -> ::windows::runtime::Result<Self>16611     fn try_from(value: CompositionStrokeDashArray) -> ::windows::runtime::Result<Self> {
16612         ::std::convert::TryFrom::try_from(&value)
16613     }
16614 }
16615 #[cfg(feature = "Foundation_Collections")]
16616 impl ::std::convert::TryFrom<&CompositionStrokeDashArray> for IAnimationObject {
16617     type Error = ::windows::runtime::Error;
try_from(value: &CompositionStrokeDashArray) -> ::windows::runtime::Result<Self>16618     fn try_from(value: &CompositionStrokeDashArray) -> ::windows::runtime::Result<Self> {
16619         ::windows::runtime::Interface::cast(value)
16620     }
16621 }
16622 #[cfg(feature = "Foundation_Collections")]
16623 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>16624     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
16625         ::windows::runtime::IntoParam::into_param(&self)
16626     }
16627 }
16628 #[cfg(feature = "Foundation_Collections")]
16629 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>16630     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
16631         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
16632     }
16633 }
16634 #[cfg(feature = "Foundation_Collections")]
16635 impl ::std::convert::From<CompositionStrokeDashArray> for CompositionObject {
from(value: CompositionStrokeDashArray) -> Self16636     fn from(value: CompositionStrokeDashArray) -> Self {
16637         ::std::convert::Into::<CompositionObject>::into(&value)
16638     }
16639 }
16640 #[cfg(feature = "Foundation_Collections")]
16641 impl ::std::convert::From<&CompositionStrokeDashArray> for CompositionObject {
from(value: &CompositionStrokeDashArray) -> Self16642     fn from(value: &CompositionStrokeDashArray) -> Self {
16643         ::windows::runtime::Interface::cast(value).unwrap()
16644     }
16645 }
16646 #[cfg(feature = "Foundation_Collections")]
16647 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>16648     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
16649         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
16650     }
16651 }
16652 #[cfg(feature = "Foundation_Collections")]
16653 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionStrokeDashArray {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>16654     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
16655         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
16656     }
16657 }
16658 #[cfg(feature = "Foundation_Collections")]
16659 unsafe impl ::std::marker::Send for CompositionStrokeDashArray {}
16660 #[cfg(feature = "Foundation_Collections")]
16661 unsafe impl ::std::marker::Sync for CompositionStrokeDashArray {}
16662 #[cfg(all(feature = "Foundation_Collections"))]
16663 impl ::std::iter::IntoIterator for CompositionStrokeDashArray {
16664     type Item = f32;
16665     type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
into_iter(self) -> Self::IntoIter16666     fn into_iter(self) -> Self::IntoIter {
16667         ::std::iter::IntoIterator::into_iter(&self)
16668     }
16669 }
16670 #[cfg(all(feature = "Foundation_Collections"))]
16671 impl ::std::iter::IntoIterator for &CompositionStrokeDashArray {
16672     type Item = f32;
16673     type IntoIter = super::super::Foundation::Collections::VectorIterator<Self::Item>;
into_iter(self) -> Self::IntoIter16674     fn into_iter(self) -> Self::IntoIter {
16675         super::super::Foundation::Collections::VectorIterator::new(::std::convert::TryInto::try_into(self).ok())
16676     }
16677 }
16678 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
16679 #[repr(transparent)]
16680 pub struct CompositionStrokeLineJoin(pub i32);
16681 impl CompositionStrokeLineJoin {
16682     pub const Miter: CompositionStrokeLineJoin = CompositionStrokeLineJoin(0i32);
16683     pub const Bevel: CompositionStrokeLineJoin = CompositionStrokeLineJoin(1i32);
16684     pub const Round: CompositionStrokeLineJoin = CompositionStrokeLineJoin(2i32);
16685     pub const MiterOrBevel: CompositionStrokeLineJoin = CompositionStrokeLineJoin(3i32);
16686 }
16687 impl ::std::convert::From<i32> for CompositionStrokeLineJoin {
from(value: i32) -> Self16688     fn from(value: i32) -> Self {
16689         Self(value)
16690     }
16691 }
16692 unsafe impl ::windows::runtime::Abi for CompositionStrokeLineJoin {
16693     type Abi = Self;
16694     type DefaultType = Self;
16695 }
16696 unsafe impl ::windows::runtime::RuntimeType for CompositionStrokeLineJoin {
16697     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Composition.CompositionStrokeLineJoin;i4)");
16698 }
16699 #[repr(transparent)]
16700 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
16701 pub struct CompositionSurfaceBrush(::windows::runtime::IInspectable);
16702 impl CompositionSurfaceBrush {
BitmapInterpolationMode(&self) -> ::windows::runtime::Result<CompositionBitmapInterpolationMode>16703     pub fn BitmapInterpolationMode(&self) -> ::windows::runtime::Result<CompositionBitmapInterpolationMode> {
16704         let this = self;
16705         unsafe {
16706             let mut result__: CompositionBitmapInterpolationMode = ::std::mem::zeroed();
16707             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBitmapInterpolationMode>(result__)
16708         }
16709     }
SetBitmapInterpolationMode(&self, value: CompositionBitmapInterpolationMode) -> ::windows::runtime::Result<()>16710     pub fn SetBitmapInterpolationMode(&self, value: CompositionBitmapInterpolationMode) -> ::windows::runtime::Result<()> {
16711         let this = self;
16712         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
16713     }
HorizontalAlignmentRatio(&self) -> ::windows::runtime::Result<f32>16714     pub fn HorizontalAlignmentRatio(&self) -> ::windows::runtime::Result<f32> {
16715         let this = self;
16716         unsafe {
16717             let mut result__: f32 = ::std::mem::zeroed();
16718             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
16719         }
16720     }
SetHorizontalAlignmentRatio(&self, value: f32) -> ::windows::runtime::Result<()>16721     pub fn SetHorizontalAlignmentRatio(&self, value: f32) -> ::windows::runtime::Result<()> {
16722         let this = self;
16723         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
16724     }
Stretch(&self) -> ::windows::runtime::Result<CompositionStretch>16725     pub fn Stretch(&self) -> ::windows::runtime::Result<CompositionStretch> {
16726         let this = self;
16727         unsafe {
16728             let mut result__: CompositionStretch = ::std::mem::zeroed();
16729             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionStretch>(result__)
16730         }
16731     }
SetStretch(&self, value: CompositionStretch) -> ::windows::runtime::Result<()>16732     pub fn SetStretch(&self, value: CompositionStretch) -> ::windows::runtime::Result<()> {
16733         let this = self;
16734         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
16735     }
Surface(&self) -> ::windows::runtime::Result<ICompositionSurface>16736     pub fn Surface(&self) -> ::windows::runtime::Result<ICompositionSurface> {
16737         let this = self;
16738         unsafe {
16739             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16740             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ICompositionSurface>(result__)
16741         }
16742     }
SetSurface<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionSurface>>(&self, value: Param0) -> ::windows::runtime::Result<()>16743     pub fn SetSurface<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionSurface>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16744         let this = self;
16745         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16746     }
VerticalAlignmentRatio(&self) -> ::windows::runtime::Result<f32>16747     pub fn VerticalAlignmentRatio(&self) -> ::windows::runtime::Result<f32> {
16748         let this = self;
16749         unsafe {
16750             let mut result__: f32 = ::std::mem::zeroed();
16751             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
16752         }
16753     }
SetVerticalAlignmentRatio(&self, value: f32) -> ::windows::runtime::Result<()>16754     pub fn SetVerticalAlignmentRatio(&self, value: f32) -> ::windows::runtime::Result<()> {
16755         let this = self;
16756         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
16757     }
16758     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>16759     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
16760         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16761         unsafe {
16762             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
16763             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
16764         }
16765     }
16766     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>16767     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16768         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16769         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16770     }
16771     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>16772     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
16773         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16774         unsafe {
16775             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
16776             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
16777         }
16778     }
16779     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>16780     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16781         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16782         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16783     }
16784     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>16785     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
16786         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16787         unsafe {
16788             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
16789             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
16790         }
16791     }
16792     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>16793     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16794         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16795         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16796     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>16797     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
16798         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16799         unsafe {
16800             let mut result__: f32 = ::std::mem::zeroed();
16801             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
16802         }
16803     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>16804     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
16805         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16806         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
16807     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>16808     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
16809         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16810         unsafe {
16811             let mut result__: f32 = ::std::mem::zeroed();
16812             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
16813         }
16814     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>16815     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
16816         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16817         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
16818     }
16819     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>16820     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
16821         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16822         unsafe {
16823             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
16824             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
16825         }
16826     }
16827     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>16828     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16829         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16830         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16831     }
16832     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>16833     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
16834         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16835         unsafe {
16836             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
16837             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
16838         }
16839     }
16840     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>16841     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16842         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush2>(self)?;
16843         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16844     }
SnapToPixels(&self) -> ::windows::runtime::Result<bool>16845     pub fn SnapToPixels(&self) -> ::windows::runtime::Result<bool> {
16846         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush3>(self)?;
16847         unsafe {
16848             let mut result__: bool = ::std::mem::zeroed();
16849             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
16850         }
16851     }
SetSnapToPixels(&self, value: bool) -> ::windows::runtime::Result<()>16852     pub fn SetSnapToPixels(&self, value: bool) -> ::windows::runtime::Result<()> {
16853         let this = &::windows::runtime::Interface::cast::<ICompositionSurfaceBrush3>(self)?;
16854         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
16855     }
16856     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>16857     pub fn Close(&self) -> ::windows::runtime::Result<()> {
16858         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
16859         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
16860     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>16861     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
16862         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16863         unsafe {
16864             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16865             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
16866         }
16867     }
16868     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>16869     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
16870         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16871         unsafe {
16872             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16873             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
16874         }
16875     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>16876     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
16877         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16878         unsafe {
16879             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16880             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
16881         }
16882     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>16883     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
16884         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16885         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
16886     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>16887     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
16888         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
16889         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
16890     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>16891     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
16892         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16893         unsafe {
16894             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
16895             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
16896         }
16897     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>16898     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16899         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16900         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16901     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>16902     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
16903         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16904         unsafe {
16905             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16906             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
16907         }
16908     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>16909     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16910         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16911         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16912     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>16913     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16914         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16915         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16916     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>16917     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
16918         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
16919         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
16920     }
16921     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>16922     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
16923         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
16924         unsafe {
16925             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16926             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
16927         }
16928     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>16929     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
16930         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
16931         unsafe {
16932             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
16933             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
16934         }
16935     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>16936     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
16937         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
16938         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
16939     }
16940 }
16941 unsafe impl ::windows::runtime::RuntimeType for CompositionSurfaceBrush {
16942     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionSurfaceBrush;{ad016d79-1e4c-4c0d-9c29-83338c87c162})");
16943 }
16944 unsafe impl ::windows::runtime::Interface for CompositionSurfaceBrush {
16945     type Vtable = ICompositionSurfaceBrush_abi;
16946     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2902551929, 7756, 19469, [156, 41, 131, 51, 140, 135, 193, 98]);
16947 }
16948 impl ::windows::runtime::RuntimeName for CompositionSurfaceBrush {
16949     const NAME: &'static str = "Windows.UI.Composition.CompositionSurfaceBrush";
16950 }
16951 impl ::std::convert::From<CompositionSurfaceBrush> for ::windows::runtime::IUnknown {
from(value: CompositionSurfaceBrush) -> Self16952     fn from(value: CompositionSurfaceBrush) -> Self {
16953         unsafe { ::std::mem::transmute(value) }
16954     }
16955 }
16956 impl ::std::convert::From<&CompositionSurfaceBrush> for ::windows::runtime::IUnknown {
from(value: &CompositionSurfaceBrush) -> Self16957     fn from(value: &CompositionSurfaceBrush) -> Self {
16958         ::std::convert::From::from(::std::clone::Clone::clone(value))
16959     }
16960 }
16961 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16962     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16963         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
16964     }
16965 }
16966 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>16967     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
16968         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
16969     }
16970 }
16971 impl ::std::convert::From<CompositionSurfaceBrush> for ::windows::runtime::IInspectable {
from(value: CompositionSurfaceBrush) -> Self16972     fn from(value: CompositionSurfaceBrush) -> Self {
16973         value.0
16974     }
16975 }
16976 impl ::std::convert::From<&CompositionSurfaceBrush> for ::windows::runtime::IInspectable {
from(value: &CompositionSurfaceBrush) -> Self16977     fn from(value: &CompositionSurfaceBrush) -> Self {
16978         value.0.clone()
16979     }
16980 }
16981 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>16982     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
16983         ::windows::runtime::Param::Owned(self.0)
16984     }
16985 }
16986 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>16987     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
16988         ::windows::runtime::Param::Borrowed(&self.0)
16989     }
16990 }
16991 #[cfg(feature = "Foundation")]
16992 impl ::std::convert::TryFrom<CompositionSurfaceBrush> for super::super::Foundation::IClosable {
16993     type Error = ::windows::runtime::Error;
try_from(value: CompositionSurfaceBrush) -> ::windows::runtime::Result<Self>16994     fn try_from(value: CompositionSurfaceBrush) -> ::windows::runtime::Result<Self> {
16995         ::std::convert::TryFrom::try_from(&value)
16996     }
16997 }
16998 #[cfg(feature = "Foundation")]
16999 impl ::std::convert::TryFrom<&CompositionSurfaceBrush> for super::super::Foundation::IClosable {
17000     type Error = ::windows::runtime::Error;
try_from(value: &CompositionSurfaceBrush) -> ::windows::runtime::Result<Self>17001     fn try_from(value: &CompositionSurfaceBrush) -> ::windows::runtime::Result<Self> {
17002         ::windows::runtime::Interface::cast(value)
17003     }
17004 }
17005 #[cfg(feature = "Foundation")]
17006 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>17007     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
17008         ::windows::runtime::IntoParam::into_param(&self)
17009     }
17010 }
17011 #[cfg(feature = "Foundation")]
17012 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>17013     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
17014         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
17015     }
17016 }
17017 impl ::std::convert::TryFrom<CompositionSurfaceBrush> for IAnimationObject {
17018     type Error = ::windows::runtime::Error;
try_from(value: CompositionSurfaceBrush) -> ::windows::runtime::Result<Self>17019     fn try_from(value: CompositionSurfaceBrush) -> ::windows::runtime::Result<Self> {
17020         ::std::convert::TryFrom::try_from(&value)
17021     }
17022 }
17023 impl ::std::convert::TryFrom<&CompositionSurfaceBrush> for IAnimationObject {
17024     type Error = ::windows::runtime::Error;
try_from(value: &CompositionSurfaceBrush) -> ::windows::runtime::Result<Self>17025     fn try_from(value: &CompositionSurfaceBrush) -> ::windows::runtime::Result<Self> {
17026         ::windows::runtime::Interface::cast(value)
17027     }
17028 }
17029 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>17030     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
17031         ::windows::runtime::IntoParam::into_param(&self)
17032     }
17033 }
17034 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>17035     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
17036         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
17037     }
17038 }
17039 impl ::std::convert::From<CompositionSurfaceBrush> for CompositionBrush {
from(value: CompositionSurfaceBrush) -> Self17040     fn from(value: CompositionSurfaceBrush) -> Self {
17041         ::std::convert::Into::<CompositionBrush>::into(&value)
17042     }
17043 }
17044 impl ::std::convert::From<&CompositionSurfaceBrush> for CompositionBrush {
from(value: &CompositionSurfaceBrush) -> Self17045     fn from(value: &CompositionSurfaceBrush) -> Self {
17046         ::windows::runtime::Interface::cast(value).unwrap()
17047     }
17048 }
17049 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>17050     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
17051         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(self))
17052     }
17053 }
17054 impl<'a> ::windows::runtime::IntoParam<'a, CompositionBrush> for &CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush>17055     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionBrush> {
17056         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionBrush>::into(::std::clone::Clone::clone(self)))
17057     }
17058 }
17059 impl ::std::convert::From<CompositionSurfaceBrush> for CompositionObject {
from(value: CompositionSurfaceBrush) -> Self17060     fn from(value: CompositionSurfaceBrush) -> Self {
17061         ::std::convert::Into::<CompositionObject>::into(&value)
17062     }
17063 }
17064 impl ::std::convert::From<&CompositionSurfaceBrush> for CompositionObject {
from(value: &CompositionSurfaceBrush) -> Self17065     fn from(value: &CompositionSurfaceBrush) -> Self {
17066         ::windows::runtime::Interface::cast(value).unwrap()
17067     }
17068 }
17069 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>17070     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
17071         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
17072     }
17073 }
17074 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionSurfaceBrush {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>17075     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
17076         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
17077     }
17078 }
17079 unsafe impl ::std::marker::Send for CompositionSurfaceBrush {}
17080 unsafe impl ::std::marker::Sync for CompositionSurfaceBrush {}
17081 #[repr(transparent)]
17082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17083 pub struct CompositionTarget(::windows::runtime::IInspectable);
17084 impl CompositionTarget {
Root(&self) -> ::windows::runtime::Result<Visual>17085     pub fn Root(&self) -> ::windows::runtime::Result<Visual> {
17086         let this = self;
17087         unsafe {
17088             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17089             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
17090         }
17091     }
SetRoot<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>17092     pub fn SetRoot<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17093         let this = self;
17094         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17095     }
17096     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>17097     pub fn Close(&self) -> ::windows::runtime::Result<()> {
17098         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
17099         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
17100     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>17101     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
17102         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17103         unsafe {
17104             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17105             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
17106         }
17107     }
17108     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>17109     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
17110         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17111         unsafe {
17112             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17113             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
17114         }
17115     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>17116     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
17117         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17118         unsafe {
17119             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17120             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
17121         }
17122     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>17123     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
17124         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17125         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
17126     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>17127     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
17128         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17129         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
17130     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>17131     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
17132         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17133         unsafe {
17134             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
17135             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
17136         }
17137     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>17138     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17139         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17140         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17141     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>17142     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
17143         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17144         unsafe {
17145             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17146             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
17147         }
17148     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>17149     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17150         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17151         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17152     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>17153     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17154         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17155         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17156     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>17157     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17158         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17159         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17160     }
17161     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>17162     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
17163         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
17164         unsafe {
17165             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17166             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
17167         }
17168     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>17169     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
17170         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
17171         unsafe {
17172             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17173             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
17174         }
17175     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>17176     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
17177         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
17178         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
17179     }
17180 }
17181 unsafe impl ::windows::runtime::RuntimeType for CompositionTarget {
17182     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionTarget;{a1bea8ba-d726-4663-8129-6b5e7927ffa6})");
17183 }
17184 unsafe impl ::windows::runtime::Interface for CompositionTarget {
17185     type Vtable = ICompositionTarget_abi;
17186     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2713626810, 55078, 18019, [129, 41, 107, 94, 121, 39, 255, 166]);
17187 }
17188 impl ::windows::runtime::RuntimeName for CompositionTarget {
17189     const NAME: &'static str = "Windows.UI.Composition.CompositionTarget";
17190 }
17191 impl ::std::convert::From<CompositionTarget> for ::windows::runtime::IUnknown {
from(value: CompositionTarget) -> Self17192     fn from(value: CompositionTarget) -> Self {
17193         unsafe { ::std::mem::transmute(value) }
17194     }
17195 }
17196 impl ::std::convert::From<&CompositionTarget> for ::windows::runtime::IUnknown {
from(value: &CompositionTarget) -> Self17197     fn from(value: &CompositionTarget) -> Self {
17198         ::std::convert::From::from(::std::clone::Clone::clone(value))
17199     }
17200 }
17201 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17202     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17203         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17204     }
17205 }
17206 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17207     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17208         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17209     }
17210 }
17211 impl ::std::convert::From<CompositionTarget> for ::windows::runtime::IInspectable {
from(value: CompositionTarget) -> Self17212     fn from(value: CompositionTarget) -> Self {
17213         value.0
17214     }
17215 }
17216 impl ::std::convert::From<&CompositionTarget> for ::windows::runtime::IInspectable {
from(value: &CompositionTarget) -> Self17217     fn from(value: &CompositionTarget) -> Self {
17218         value.0.clone()
17219     }
17220 }
17221 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>17222     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
17223         ::windows::runtime::Param::Owned(self.0)
17224     }
17225 }
17226 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>17227     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
17228         ::windows::runtime::Param::Borrowed(&self.0)
17229     }
17230 }
17231 #[cfg(feature = "Foundation")]
17232 impl ::std::convert::TryFrom<CompositionTarget> for super::super::Foundation::IClosable {
17233     type Error = ::windows::runtime::Error;
try_from(value: CompositionTarget) -> ::windows::runtime::Result<Self>17234     fn try_from(value: CompositionTarget) -> ::windows::runtime::Result<Self> {
17235         ::std::convert::TryFrom::try_from(&value)
17236     }
17237 }
17238 #[cfg(feature = "Foundation")]
17239 impl ::std::convert::TryFrom<&CompositionTarget> for super::super::Foundation::IClosable {
17240     type Error = ::windows::runtime::Error;
try_from(value: &CompositionTarget) -> ::windows::runtime::Result<Self>17241     fn try_from(value: &CompositionTarget) -> ::windows::runtime::Result<Self> {
17242         ::windows::runtime::Interface::cast(value)
17243     }
17244 }
17245 #[cfg(feature = "Foundation")]
17246 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>17247     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
17248         ::windows::runtime::IntoParam::into_param(&self)
17249     }
17250 }
17251 #[cfg(feature = "Foundation")]
17252 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>17253     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
17254         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
17255     }
17256 }
17257 impl ::std::convert::TryFrom<CompositionTarget> for IAnimationObject {
17258     type Error = ::windows::runtime::Error;
try_from(value: CompositionTarget) -> ::windows::runtime::Result<Self>17259     fn try_from(value: CompositionTarget) -> ::windows::runtime::Result<Self> {
17260         ::std::convert::TryFrom::try_from(&value)
17261     }
17262 }
17263 impl ::std::convert::TryFrom<&CompositionTarget> for IAnimationObject {
17264     type Error = ::windows::runtime::Error;
try_from(value: &CompositionTarget) -> ::windows::runtime::Result<Self>17265     fn try_from(value: &CompositionTarget) -> ::windows::runtime::Result<Self> {
17266         ::windows::runtime::Interface::cast(value)
17267     }
17268 }
17269 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>17270     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
17271         ::windows::runtime::IntoParam::into_param(&self)
17272     }
17273 }
17274 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>17275     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
17276         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
17277     }
17278 }
17279 impl ::std::convert::From<CompositionTarget> for CompositionObject {
from(value: CompositionTarget) -> Self17280     fn from(value: CompositionTarget) -> Self {
17281         ::std::convert::Into::<CompositionObject>::into(&value)
17282     }
17283 }
17284 impl ::std::convert::From<&CompositionTarget> for CompositionObject {
from(value: &CompositionTarget) -> Self17285     fn from(value: &CompositionTarget) -> Self {
17286         ::windows::runtime::Interface::cast(value).unwrap()
17287     }
17288 }
17289 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>17290     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
17291         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
17292     }
17293 }
17294 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionTarget {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>17295     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
17296         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
17297     }
17298 }
17299 unsafe impl ::std::marker::Send for CompositionTarget {}
17300 unsafe impl ::std::marker::Sync for CompositionTarget {}
17301 #[repr(transparent)]
17302 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17303 pub struct CompositionTransform(::windows::runtime::IInspectable);
17304 impl CompositionTransform {
17305     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>17306     pub fn Close(&self) -> ::windows::runtime::Result<()> {
17307         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
17308         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
17309     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>17310     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
17311         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17312         unsafe {
17313             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17314             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
17315         }
17316     }
17317     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>17318     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
17319         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17320         unsafe {
17321             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17322             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
17323         }
17324     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>17325     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
17326         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17327         unsafe {
17328             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17329             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
17330         }
17331     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>17332     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
17333         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17334         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
17335     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>17336     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
17337         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17338         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
17339     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>17340     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
17341         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17342         unsafe {
17343             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
17344             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
17345         }
17346     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>17347     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17348         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17349         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17350     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>17351     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
17352         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17353         unsafe {
17354             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17355             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
17356         }
17357     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>17358     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17359         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17360         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17361     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>17362     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17363         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17364         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17365     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>17366     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17367         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17368         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17369     }
17370     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>17371     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
17372         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
17373         unsafe {
17374             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17375             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
17376         }
17377     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>17378     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
17379         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
17380         unsafe {
17381             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17382             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
17383         }
17384     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>17385     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
17386         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
17387         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
17388     }
17389 }
17390 unsafe impl ::windows::runtime::RuntimeType for CompositionTransform {
17391     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionTransform;{7cd54529-fbed-4112-abc5-185906dd927c})");
17392 }
17393 unsafe impl ::windows::runtime::Interface for CompositionTransform {
17394     type Vtable = ICompositionTransform_abi;
17395     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2094351657, 64493, 16658, [171, 197, 24, 89, 6, 221, 146, 124]);
17396 }
17397 impl ::windows::runtime::RuntimeName for CompositionTransform {
17398     const NAME: &'static str = "Windows.UI.Composition.CompositionTransform";
17399 }
17400 impl ::std::convert::From<CompositionTransform> for ::windows::runtime::IUnknown {
from(value: CompositionTransform) -> Self17401     fn from(value: CompositionTransform) -> Self {
17402         unsafe { ::std::mem::transmute(value) }
17403     }
17404 }
17405 impl ::std::convert::From<&CompositionTransform> for ::windows::runtime::IUnknown {
from(value: &CompositionTransform) -> Self17406     fn from(value: &CompositionTransform) -> Self {
17407         ::std::convert::From::from(::std::clone::Clone::clone(value))
17408     }
17409 }
17410 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17411     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17412         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17413     }
17414 }
17415 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17416     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17417         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17418     }
17419 }
17420 impl ::std::convert::From<CompositionTransform> for ::windows::runtime::IInspectable {
from(value: CompositionTransform) -> Self17421     fn from(value: CompositionTransform) -> Self {
17422         value.0
17423     }
17424 }
17425 impl ::std::convert::From<&CompositionTransform> for ::windows::runtime::IInspectable {
from(value: &CompositionTransform) -> Self17426     fn from(value: &CompositionTransform) -> Self {
17427         value.0.clone()
17428     }
17429 }
17430 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>17431     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
17432         ::windows::runtime::Param::Owned(self.0)
17433     }
17434 }
17435 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>17436     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
17437         ::windows::runtime::Param::Borrowed(&self.0)
17438     }
17439 }
17440 #[cfg(feature = "Foundation")]
17441 impl ::std::convert::TryFrom<CompositionTransform> for super::super::Foundation::IClosable {
17442     type Error = ::windows::runtime::Error;
try_from(value: CompositionTransform) -> ::windows::runtime::Result<Self>17443     fn try_from(value: CompositionTransform) -> ::windows::runtime::Result<Self> {
17444         ::std::convert::TryFrom::try_from(&value)
17445     }
17446 }
17447 #[cfg(feature = "Foundation")]
17448 impl ::std::convert::TryFrom<&CompositionTransform> for super::super::Foundation::IClosable {
17449     type Error = ::windows::runtime::Error;
try_from(value: &CompositionTransform) -> ::windows::runtime::Result<Self>17450     fn try_from(value: &CompositionTransform) -> ::windows::runtime::Result<Self> {
17451         ::windows::runtime::Interface::cast(value)
17452     }
17453 }
17454 #[cfg(feature = "Foundation")]
17455 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>17456     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
17457         ::windows::runtime::IntoParam::into_param(&self)
17458     }
17459 }
17460 #[cfg(feature = "Foundation")]
17461 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>17462     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
17463         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
17464     }
17465 }
17466 impl ::std::convert::TryFrom<CompositionTransform> for IAnimationObject {
17467     type Error = ::windows::runtime::Error;
try_from(value: CompositionTransform) -> ::windows::runtime::Result<Self>17468     fn try_from(value: CompositionTransform) -> ::windows::runtime::Result<Self> {
17469         ::std::convert::TryFrom::try_from(&value)
17470     }
17471 }
17472 impl ::std::convert::TryFrom<&CompositionTransform> for IAnimationObject {
17473     type Error = ::windows::runtime::Error;
try_from(value: &CompositionTransform) -> ::windows::runtime::Result<Self>17474     fn try_from(value: &CompositionTransform) -> ::windows::runtime::Result<Self> {
17475         ::windows::runtime::Interface::cast(value)
17476     }
17477 }
17478 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>17479     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
17480         ::windows::runtime::IntoParam::into_param(&self)
17481     }
17482 }
17483 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>17484     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
17485         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
17486     }
17487 }
17488 impl ::std::convert::From<CompositionTransform> for CompositionObject {
from(value: CompositionTransform) -> Self17489     fn from(value: CompositionTransform) -> Self {
17490         ::std::convert::Into::<CompositionObject>::into(&value)
17491     }
17492 }
17493 impl ::std::convert::From<&CompositionTransform> for CompositionObject {
from(value: &CompositionTransform) -> Self17494     fn from(value: &CompositionTransform) -> Self {
17495         ::windows::runtime::Interface::cast(value).unwrap()
17496     }
17497 }
17498 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>17499     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
17500         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
17501     }
17502 }
17503 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionTransform {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>17504     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
17505         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
17506     }
17507 }
17508 unsafe impl ::std::marker::Send for CompositionTransform {}
17509 unsafe impl ::std::marker::Sync for CompositionTransform {}
17510 #[repr(transparent)]
17511 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17512 pub struct CompositionViewBox(::windows::runtime::IInspectable);
17513 impl CompositionViewBox {
HorizontalAlignmentRatio(&self) -> ::windows::runtime::Result<f32>17514     pub fn HorizontalAlignmentRatio(&self) -> ::windows::runtime::Result<f32> {
17515         let this = self;
17516         unsafe {
17517             let mut result__: f32 = ::std::mem::zeroed();
17518             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
17519         }
17520     }
SetHorizontalAlignmentRatio(&self, value: f32) -> ::windows::runtime::Result<()>17521     pub fn SetHorizontalAlignmentRatio(&self, value: f32) -> ::windows::runtime::Result<()> {
17522         let this = self;
17523         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
17524     }
17525     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>17526     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
17527         let this = self;
17528         unsafe {
17529             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
17530             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
17531         }
17532     }
17533     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>17534     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17535         let this = self;
17536         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17537     }
17538     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>17539     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
17540         let this = self;
17541         unsafe {
17542             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
17543             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
17544         }
17545     }
17546     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>17547     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17548         let this = self;
17549         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17550     }
Stretch(&self) -> ::windows::runtime::Result<CompositionStretch>17551     pub fn Stretch(&self) -> ::windows::runtime::Result<CompositionStretch> {
17552         let this = self;
17553         unsafe {
17554             let mut result__: CompositionStretch = ::std::mem::zeroed();
17555             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionStretch>(result__)
17556         }
17557     }
SetStretch(&self, value: CompositionStretch) -> ::windows::runtime::Result<()>17558     pub fn SetStretch(&self, value: CompositionStretch) -> ::windows::runtime::Result<()> {
17559         let this = self;
17560         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
17561     }
VerticalAlignmentRatio(&self) -> ::windows::runtime::Result<f32>17562     pub fn VerticalAlignmentRatio(&self) -> ::windows::runtime::Result<f32> {
17563         let this = self;
17564         unsafe {
17565             let mut result__: f32 = ::std::mem::zeroed();
17566             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
17567         }
17568     }
SetVerticalAlignmentRatio(&self, value: f32) -> ::windows::runtime::Result<()>17569     pub fn SetVerticalAlignmentRatio(&self, value: f32) -> ::windows::runtime::Result<()> {
17570         let this = self;
17571         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
17572     }
17573     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>17574     pub fn Close(&self) -> ::windows::runtime::Result<()> {
17575         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
17576         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
17577     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>17578     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
17579         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17580         unsafe {
17581             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17582             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
17583         }
17584     }
17585     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>17586     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
17587         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17588         unsafe {
17589             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17590             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
17591         }
17592     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>17593     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
17594         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17595         unsafe {
17596             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17597             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
17598         }
17599     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>17600     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
17601         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17602         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
17603     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>17604     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
17605         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17606         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
17607     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>17608     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
17609         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17610         unsafe {
17611             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
17612             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
17613         }
17614     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>17615     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17616         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17617         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17618     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>17619     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
17620         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17621         unsafe {
17622             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17623             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
17624         }
17625     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>17626     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17627         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17628         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17629     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>17630     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17631         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17632         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17633     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>17634     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17635         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17636         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17637     }
17638     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>17639     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
17640         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
17641         unsafe {
17642             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17643             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
17644         }
17645     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>17646     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
17647         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
17648         unsafe {
17649             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17650             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
17651         }
17652     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>17653     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
17654         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
17655         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
17656     }
17657 }
17658 unsafe impl ::windows::runtime::RuntimeType for CompositionViewBox {
17659     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionViewBox;{b440bf07-068f-4537-84c6-4ecbe019e1f4})");
17660 }
17661 unsafe impl ::windows::runtime::Interface for CompositionViewBox {
17662     type Vtable = ICompositionViewBox_abi;
17663     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3024142087, 1679, 17719, [132, 198, 78, 203, 224, 25, 225, 244]);
17664 }
17665 impl ::windows::runtime::RuntimeName for CompositionViewBox {
17666     const NAME: &'static str = "Windows.UI.Composition.CompositionViewBox";
17667 }
17668 impl ::std::convert::From<CompositionViewBox> for ::windows::runtime::IUnknown {
from(value: CompositionViewBox) -> Self17669     fn from(value: CompositionViewBox) -> Self {
17670         unsafe { ::std::mem::transmute(value) }
17671     }
17672 }
17673 impl ::std::convert::From<&CompositionViewBox> for ::windows::runtime::IUnknown {
from(value: &CompositionViewBox) -> Self17674     fn from(value: &CompositionViewBox) -> Self {
17675         ::std::convert::From::from(::std::clone::Clone::clone(value))
17676     }
17677 }
17678 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17679     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17680         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17681     }
17682 }
17683 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17684     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17685         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17686     }
17687 }
17688 impl ::std::convert::From<CompositionViewBox> for ::windows::runtime::IInspectable {
from(value: CompositionViewBox) -> Self17689     fn from(value: CompositionViewBox) -> Self {
17690         value.0
17691     }
17692 }
17693 impl ::std::convert::From<&CompositionViewBox> for ::windows::runtime::IInspectable {
from(value: &CompositionViewBox) -> Self17694     fn from(value: &CompositionViewBox) -> Self {
17695         value.0.clone()
17696     }
17697 }
17698 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>17699     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
17700         ::windows::runtime::Param::Owned(self.0)
17701     }
17702 }
17703 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>17704     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
17705         ::windows::runtime::Param::Borrowed(&self.0)
17706     }
17707 }
17708 #[cfg(feature = "Foundation")]
17709 impl ::std::convert::TryFrom<CompositionViewBox> for super::super::Foundation::IClosable {
17710     type Error = ::windows::runtime::Error;
try_from(value: CompositionViewBox) -> ::windows::runtime::Result<Self>17711     fn try_from(value: CompositionViewBox) -> ::windows::runtime::Result<Self> {
17712         ::std::convert::TryFrom::try_from(&value)
17713     }
17714 }
17715 #[cfg(feature = "Foundation")]
17716 impl ::std::convert::TryFrom<&CompositionViewBox> for super::super::Foundation::IClosable {
17717     type Error = ::windows::runtime::Error;
try_from(value: &CompositionViewBox) -> ::windows::runtime::Result<Self>17718     fn try_from(value: &CompositionViewBox) -> ::windows::runtime::Result<Self> {
17719         ::windows::runtime::Interface::cast(value)
17720     }
17721 }
17722 #[cfg(feature = "Foundation")]
17723 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>17724     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
17725         ::windows::runtime::IntoParam::into_param(&self)
17726     }
17727 }
17728 #[cfg(feature = "Foundation")]
17729 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>17730     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
17731         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
17732     }
17733 }
17734 impl ::std::convert::TryFrom<CompositionViewBox> for IAnimationObject {
17735     type Error = ::windows::runtime::Error;
try_from(value: CompositionViewBox) -> ::windows::runtime::Result<Self>17736     fn try_from(value: CompositionViewBox) -> ::windows::runtime::Result<Self> {
17737         ::std::convert::TryFrom::try_from(&value)
17738     }
17739 }
17740 impl ::std::convert::TryFrom<&CompositionViewBox> for IAnimationObject {
17741     type Error = ::windows::runtime::Error;
try_from(value: &CompositionViewBox) -> ::windows::runtime::Result<Self>17742     fn try_from(value: &CompositionViewBox) -> ::windows::runtime::Result<Self> {
17743         ::windows::runtime::Interface::cast(value)
17744     }
17745 }
17746 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>17747     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
17748         ::windows::runtime::IntoParam::into_param(&self)
17749     }
17750 }
17751 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>17752     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
17753         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
17754     }
17755 }
17756 impl ::std::convert::From<CompositionViewBox> for CompositionObject {
from(value: CompositionViewBox) -> Self17757     fn from(value: CompositionViewBox) -> Self {
17758         ::std::convert::Into::<CompositionObject>::into(&value)
17759     }
17760 }
17761 impl ::std::convert::From<&CompositionViewBox> for CompositionObject {
from(value: &CompositionViewBox) -> Self17762     fn from(value: &CompositionViewBox) -> Self {
17763         ::windows::runtime::Interface::cast(value).unwrap()
17764     }
17765 }
17766 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>17767     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
17768         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
17769     }
17770 }
17771 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionViewBox {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>17772     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
17773         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
17774     }
17775 }
17776 unsafe impl ::std::marker::Send for CompositionViewBox {}
17777 unsafe impl ::std::marker::Sync for CompositionViewBox {}
17778 #[repr(transparent)]
17779 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
17780 pub struct CompositionVirtualDrawingSurface(::windows::runtime::IInspectable);
17781 impl CompositionVirtualDrawingSurface {
17782     #[cfg(feature = "Graphics")]
Trim(&self, rects: &[<super::super::Graphics::RectInt32 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()>17783     pub fn Trim(&self, rects: &[<super::super::Graphics::RectInt32 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()> {
17784         let this = self;
17785         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), rects.len() as u32, ::std::mem::transmute(rects.as_ptr())).ok() }
17786     }
17787     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>17788     pub fn Close(&self) -> ::windows::runtime::Result<()> {
17789         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
17790         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
17791     }
17792     #[cfg(feature = "Graphics_DirectX")]
AlphaMode(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXAlphaMode>17793     pub fn AlphaMode(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXAlphaMode> {
17794         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface>(self)?;
17795         unsafe {
17796             let mut result__: super::super::Graphics::DirectX::DirectXAlphaMode = ::std::mem::zeroed();
17797             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Graphics::DirectX::DirectXAlphaMode>(result__)
17798         }
17799     }
17800     #[cfg(feature = "Graphics_DirectX")]
PixelFormat(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXPixelFormat>17801     pub fn PixelFormat(&self) -> ::windows::runtime::Result<super::super::Graphics::DirectX::DirectXPixelFormat> {
17802         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface>(self)?;
17803         unsafe {
17804             let mut result__: super::super::Graphics::DirectX::DirectXPixelFormat = ::std::mem::zeroed();
17805             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Graphics::DirectX::DirectXPixelFormat>(result__)
17806         }
17807     }
17808     #[cfg(feature = "Foundation")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Size>17809     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Size> {
17810         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface>(self)?;
17811         unsafe {
17812             let mut result__: super::super::Foundation::Size = ::std::mem::zeroed();
17813             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Size>(result__)
17814         }
17815     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>17816     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
17817         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17818         unsafe {
17819             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17820             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
17821         }
17822     }
17823     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>17824     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
17825         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17826         unsafe {
17827             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17828             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
17829         }
17830     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>17831     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
17832         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17833         unsafe {
17834             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17835             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
17836         }
17837     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>17838     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
17839         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17840         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
17841     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>17842     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
17843         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
17844         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
17845     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>17846     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
17847         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17848         unsafe {
17849             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
17850             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
17851         }
17852     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>17853     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17854         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17855         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17856     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>17857     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
17858         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17859         unsafe {
17860             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17861             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
17862         }
17863     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>17864     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17865         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17866         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17867     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>17868     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17869         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17870         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17871     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>17872     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
17873         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
17874         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
17875     }
17876     #[cfg(feature = "Graphics")]
SizeInt32(&self) -> ::windows::runtime::Result<super::super::Graphics::SizeInt32>17877     pub fn SizeInt32(&self) -> ::windows::runtime::Result<super::super::Graphics::SizeInt32> {
17878         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
17879         unsafe {
17880             let mut result__: super::super::Graphics::SizeInt32 = ::std::mem::zeroed();
17881             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Graphics::SizeInt32>(result__)
17882         }
17883     }
17884     #[cfg(feature = "Graphics")]
Resize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0) -> ::windows::runtime::Result<()>17885     pub fn Resize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::SizeInt32>>(&self, sizepixels: Param0) -> ::windows::runtime::Result<()> {
17886         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
17887         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), sizepixels.into_param().abi()).ok() }
17888     }
17889     #[cfg(feature = "Graphics")]
Scroll<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>>(&self, offset: Param0) -> ::windows::runtime::Result<()>17890     pub fn Scroll<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>>(&self, offset: Param0) -> ::windows::runtime::Result<()> {
17891         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
17892         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), offset.into_param().abi()).ok() }
17893     }
17894     #[cfg(feature = "Graphics")]
ScrollRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, scrollrect: Param1) -> ::windows::runtime::Result<()>17895     pub fn ScrollRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, scrollrect: Param1) -> ::windows::runtime::Result<()> {
17896         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
17897         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), offset.into_param().abi(), scrollrect.into_param().abi()).ok() }
17898     }
17899     #[cfg(feature = "Graphics")]
ScrollWithClip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, cliprect: Param1) -> ::windows::runtime::Result<()>17900     pub fn ScrollWithClip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, cliprect: Param1) -> ::windows::runtime::Result<()> {
17901         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
17902         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), offset.into_param().abi(), cliprect.into_param().abi()).ok() }
17903     }
17904     #[cfg(feature = "Graphics")]
ScrollRectWithClip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>, Param2: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, cliprect: Param1, scrollrect: Param2) -> ::windows::runtime::Result<()>17905     pub fn ScrollRectWithClip<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::PointInt32>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>, Param2: ::windows::runtime::IntoParam<'a, super::super::Graphics::RectInt32>>(&self, offset: Param0, cliprect: Param1, scrollrect: Param2) -> ::windows::runtime::Result<()> {
17906         let this = &::windows::runtime::Interface::cast::<ICompositionDrawingSurface2>(self)?;
17907         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), offset.into_param().abi(), cliprect.into_param().abi(), scrollrect.into_param().abi()).ok() }
17908     }
17909     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>17910     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
17911         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
17912         unsafe {
17913             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17914             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
17915         }
17916     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>17917     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
17918         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
17919         unsafe {
17920             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
17921             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
17922         }
17923     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>17924     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
17925         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
17926         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
17927     }
17928 }
17929 unsafe impl ::windows::runtime::RuntimeType for CompositionVirtualDrawingSurface {
17930     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionVirtualDrawingSurface;{a9c384db-8740-4f94-8b9d-b68521e7863d})");
17931 }
17932 unsafe impl ::windows::runtime::Interface for CompositionVirtualDrawingSurface {
17933     type Vtable = ICompositionVirtualDrawingSurface_abi;
17934     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2848163035, 34624, 20372, [139, 157, 182, 133, 33, 231, 134, 61]);
17935 }
17936 impl ::windows::runtime::RuntimeName for CompositionVirtualDrawingSurface {
17937     const NAME: &'static str = "Windows.UI.Composition.CompositionVirtualDrawingSurface";
17938 }
17939 impl ::std::convert::From<CompositionVirtualDrawingSurface> for ::windows::runtime::IUnknown {
from(value: CompositionVirtualDrawingSurface) -> Self17940     fn from(value: CompositionVirtualDrawingSurface) -> Self {
17941         unsafe { ::std::mem::transmute(value) }
17942     }
17943 }
17944 impl ::std::convert::From<&CompositionVirtualDrawingSurface> for ::windows::runtime::IUnknown {
from(value: &CompositionVirtualDrawingSurface) -> Self17945     fn from(value: &CompositionVirtualDrawingSurface) -> Self {
17946         ::std::convert::From::from(::std::clone::Clone::clone(value))
17947     }
17948 }
17949 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17950     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17951         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
17952     }
17953 }
17954 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>17955     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
17956         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
17957     }
17958 }
17959 impl ::std::convert::From<CompositionVirtualDrawingSurface> for ::windows::runtime::IInspectable {
from(value: CompositionVirtualDrawingSurface) -> Self17960     fn from(value: CompositionVirtualDrawingSurface) -> Self {
17961         value.0
17962     }
17963 }
17964 impl ::std::convert::From<&CompositionVirtualDrawingSurface> for ::windows::runtime::IInspectable {
from(value: &CompositionVirtualDrawingSurface) -> Self17965     fn from(value: &CompositionVirtualDrawingSurface) -> Self {
17966         value.0.clone()
17967     }
17968 }
17969 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>17970     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
17971         ::windows::runtime::Param::Owned(self.0)
17972     }
17973 }
17974 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>17975     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
17976         ::windows::runtime::Param::Borrowed(&self.0)
17977     }
17978 }
17979 #[cfg(feature = "Foundation")]
17980 impl ::std::convert::TryFrom<CompositionVirtualDrawingSurface> for super::super::Foundation::IClosable {
17981     type Error = ::windows::runtime::Error;
try_from(value: CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self>17982     fn try_from(value: CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self> {
17983         ::std::convert::TryFrom::try_from(&value)
17984     }
17985 }
17986 #[cfg(feature = "Foundation")]
17987 impl ::std::convert::TryFrom<&CompositionVirtualDrawingSurface> for super::super::Foundation::IClosable {
17988     type Error = ::windows::runtime::Error;
try_from(value: &CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self>17989     fn try_from(value: &CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self> {
17990         ::windows::runtime::Interface::cast(value)
17991     }
17992 }
17993 #[cfg(feature = "Foundation")]
17994 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>17995     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
17996         ::windows::runtime::IntoParam::into_param(&self)
17997     }
17998 }
17999 #[cfg(feature = "Foundation")]
18000 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>18001     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
18002         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
18003     }
18004 }
18005 impl ::std::convert::TryFrom<CompositionVirtualDrawingSurface> for ICompositionSurface {
18006     type Error = ::windows::runtime::Error;
try_from(value: CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self>18007     fn try_from(value: CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self> {
18008         ::std::convert::TryFrom::try_from(&value)
18009     }
18010 }
18011 impl ::std::convert::TryFrom<&CompositionVirtualDrawingSurface> for ICompositionSurface {
18012     type Error = ::windows::runtime::Error;
try_from(value: &CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self>18013     fn try_from(value: &CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self> {
18014         ::windows::runtime::Interface::cast(value)
18015     }
18016 }
18017 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionSurface> for CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface>18018     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface> {
18019         ::windows::runtime::IntoParam::into_param(&self)
18020     }
18021 }
18022 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionSurface> for &CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface>18023     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface> {
18024         ::std::convert::TryInto::<ICompositionSurface>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
18025     }
18026 }
18027 impl ::std::convert::TryFrom<CompositionVirtualDrawingSurface> for IAnimationObject {
18028     type Error = ::windows::runtime::Error;
try_from(value: CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self>18029     fn try_from(value: CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self> {
18030         ::std::convert::TryFrom::try_from(&value)
18031     }
18032 }
18033 impl ::std::convert::TryFrom<&CompositionVirtualDrawingSurface> for IAnimationObject {
18034     type Error = ::windows::runtime::Error;
try_from(value: &CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self>18035     fn try_from(value: &CompositionVirtualDrawingSurface) -> ::windows::runtime::Result<Self> {
18036         ::windows::runtime::Interface::cast(value)
18037     }
18038 }
18039 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>18040     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
18041         ::windows::runtime::IntoParam::into_param(&self)
18042     }
18043 }
18044 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>18045     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
18046         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
18047     }
18048 }
18049 impl ::std::convert::From<CompositionVirtualDrawingSurface> for CompositionDrawingSurface {
from(value: CompositionVirtualDrawingSurface) -> Self18050     fn from(value: CompositionVirtualDrawingSurface) -> Self {
18051         ::std::convert::Into::<CompositionDrawingSurface>::into(&value)
18052     }
18053 }
18054 impl ::std::convert::From<&CompositionVirtualDrawingSurface> for CompositionDrawingSurface {
from(value: &CompositionVirtualDrawingSurface) -> Self18055     fn from(value: &CompositionVirtualDrawingSurface) -> Self {
18056         ::windows::runtime::Interface::cast(value).unwrap()
18057     }
18058 }
18059 impl<'a> ::windows::runtime::IntoParam<'a, CompositionDrawingSurface> for CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionDrawingSurface>18060     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionDrawingSurface> {
18061         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionDrawingSurface>::into(self))
18062     }
18063 }
18064 impl<'a> ::windows::runtime::IntoParam<'a, CompositionDrawingSurface> for &CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionDrawingSurface>18065     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionDrawingSurface> {
18066         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionDrawingSurface>::into(::std::clone::Clone::clone(self)))
18067     }
18068 }
18069 impl ::std::convert::From<CompositionVirtualDrawingSurface> for CompositionObject {
from(value: CompositionVirtualDrawingSurface) -> Self18070     fn from(value: CompositionVirtualDrawingSurface) -> Self {
18071         ::std::convert::Into::<CompositionObject>::into(&value)
18072     }
18073 }
18074 impl ::std::convert::From<&CompositionVirtualDrawingSurface> for CompositionObject {
from(value: &CompositionVirtualDrawingSurface) -> Self18075     fn from(value: &CompositionVirtualDrawingSurface) -> Self {
18076         ::windows::runtime::Interface::cast(value).unwrap()
18077     }
18078 }
18079 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>18080     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
18081         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
18082     }
18083 }
18084 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionVirtualDrawingSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>18085     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
18086         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
18087     }
18088 }
18089 unsafe impl ::std::marker::Send for CompositionVirtualDrawingSurface {}
18090 unsafe impl ::std::marker::Sync for CompositionVirtualDrawingSurface {}
18091 #[repr(transparent)]
18092 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18093 pub struct CompositionVisualSurface(::windows::runtime::IInspectable);
18094 impl CompositionVisualSurface {
SourceVisual(&self) -> ::windows::runtime::Result<Visual>18095     pub fn SourceVisual(&self) -> ::windows::runtime::Result<Visual> {
18096         let this = self;
18097         unsafe {
18098             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18099             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
18100         }
18101     }
SetSourceVisual<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>18102     pub fn SetSourceVisual<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
18103         let this = self;
18104         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
18105     }
18106     #[cfg(feature = "Foundation_Numerics")]
SourceOffset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>18107     pub fn SourceOffset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
18108         let this = self;
18109         unsafe {
18110             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
18111             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
18112         }
18113     }
18114     #[cfg(feature = "Foundation_Numerics")]
SetSourceOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>18115     pub fn SetSourceOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
18116         let this = self;
18117         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
18118     }
18119     #[cfg(feature = "Foundation_Numerics")]
SourceSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>18120     pub fn SourceSize(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
18121         let this = self;
18122         unsafe {
18123             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
18124             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
18125         }
18126     }
18127     #[cfg(feature = "Foundation_Numerics")]
SetSourceSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>18128     pub fn SetSourceSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
18129         let this = self;
18130         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
18131     }
18132     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>18133     pub fn Close(&self) -> ::windows::runtime::Result<()> {
18134         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
18135         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
18136     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>18137     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
18138         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
18139         unsafe {
18140             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18141             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
18142         }
18143     }
18144     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>18145     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
18146         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
18147         unsafe {
18148             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18149             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
18150         }
18151     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>18152     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
18153         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
18154         unsafe {
18155             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18156             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
18157         }
18158     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>18159     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
18160         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
18161         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
18162     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>18163     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
18164         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
18165         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
18166     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>18167     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
18168         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
18169         unsafe {
18170             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
18171             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
18172         }
18173     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>18174     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
18175         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
18176         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
18177     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>18178     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
18179         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
18180         unsafe {
18181             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18182             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
18183         }
18184     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>18185     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
18186         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
18187         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
18188     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>18189     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
18190         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
18191         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
18192     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>18193     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
18194         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
18195         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
18196     }
18197     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>18198     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
18199         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
18200         unsafe {
18201             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18202             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
18203         }
18204     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>18205     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
18206         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
18207         unsafe {
18208             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18209             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
18210         }
18211     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>18212     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
18213         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
18214         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
18215     }
18216 }
18217 unsafe impl ::windows::runtime::RuntimeType for CompositionVisualSurface {
18218     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CompositionVisualSurface;{b224d803-4f6e-4a3f-8cae-3dc1cda74fc6})");
18219 }
18220 unsafe impl ::windows::runtime::Interface for CompositionVisualSurface {
18221     type Vtable = ICompositionVisualSurface_abi;
18222     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2988759043, 20334, 19007, [140, 174, 61, 193, 205, 167, 79, 198]);
18223 }
18224 impl ::windows::runtime::RuntimeName for CompositionVisualSurface {
18225     const NAME: &'static str = "Windows.UI.Composition.CompositionVisualSurface";
18226 }
18227 impl ::std::convert::From<CompositionVisualSurface> for ::windows::runtime::IUnknown {
from(value: CompositionVisualSurface) -> Self18228     fn from(value: CompositionVisualSurface) -> Self {
18229         unsafe { ::std::mem::transmute(value) }
18230     }
18231 }
18232 impl ::std::convert::From<&CompositionVisualSurface> for ::windows::runtime::IUnknown {
from(value: &CompositionVisualSurface) -> Self18233     fn from(value: &CompositionVisualSurface) -> Self {
18234         ::std::convert::From::from(::std::clone::Clone::clone(value))
18235     }
18236 }
18237 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>18238     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18239         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18240     }
18241 }
18242 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>18243     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18244         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18245     }
18246 }
18247 impl ::std::convert::From<CompositionVisualSurface> for ::windows::runtime::IInspectable {
from(value: CompositionVisualSurface) -> Self18248     fn from(value: CompositionVisualSurface) -> Self {
18249         value.0
18250     }
18251 }
18252 impl ::std::convert::From<&CompositionVisualSurface> for ::windows::runtime::IInspectable {
from(value: &CompositionVisualSurface) -> Self18253     fn from(value: &CompositionVisualSurface) -> Self {
18254         value.0.clone()
18255     }
18256 }
18257 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>18258     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
18259         ::windows::runtime::Param::Owned(self.0)
18260     }
18261 }
18262 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>18263     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
18264         ::windows::runtime::Param::Borrowed(&self.0)
18265     }
18266 }
18267 impl ::std::convert::TryFrom<CompositionVisualSurface> for ICompositionSurface {
18268     type Error = ::windows::runtime::Error;
try_from(value: CompositionVisualSurface) -> ::windows::runtime::Result<Self>18269     fn try_from(value: CompositionVisualSurface) -> ::windows::runtime::Result<Self> {
18270         ::std::convert::TryFrom::try_from(&value)
18271     }
18272 }
18273 impl ::std::convert::TryFrom<&CompositionVisualSurface> for ICompositionSurface {
18274     type Error = ::windows::runtime::Error;
try_from(value: &CompositionVisualSurface) -> ::windows::runtime::Result<Self>18275     fn try_from(value: &CompositionVisualSurface) -> ::windows::runtime::Result<Self> {
18276         ::windows::runtime::Interface::cast(value)
18277     }
18278 }
18279 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionSurface> for CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface>18280     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface> {
18281         ::windows::runtime::IntoParam::into_param(&self)
18282     }
18283 }
18284 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionSurface> for &CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface>18285     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionSurface> {
18286         ::std::convert::TryInto::<ICompositionSurface>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
18287     }
18288 }
18289 #[cfg(feature = "Foundation")]
18290 impl ::std::convert::TryFrom<CompositionVisualSurface> for super::super::Foundation::IClosable {
18291     type Error = ::windows::runtime::Error;
try_from(value: CompositionVisualSurface) -> ::windows::runtime::Result<Self>18292     fn try_from(value: CompositionVisualSurface) -> ::windows::runtime::Result<Self> {
18293         ::std::convert::TryFrom::try_from(&value)
18294     }
18295 }
18296 #[cfg(feature = "Foundation")]
18297 impl ::std::convert::TryFrom<&CompositionVisualSurface> for super::super::Foundation::IClosable {
18298     type Error = ::windows::runtime::Error;
try_from(value: &CompositionVisualSurface) -> ::windows::runtime::Result<Self>18299     fn try_from(value: &CompositionVisualSurface) -> ::windows::runtime::Result<Self> {
18300         ::windows::runtime::Interface::cast(value)
18301     }
18302 }
18303 #[cfg(feature = "Foundation")]
18304 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>18305     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
18306         ::windows::runtime::IntoParam::into_param(&self)
18307     }
18308 }
18309 #[cfg(feature = "Foundation")]
18310 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>18311     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
18312         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
18313     }
18314 }
18315 impl ::std::convert::TryFrom<CompositionVisualSurface> for IAnimationObject {
18316     type Error = ::windows::runtime::Error;
try_from(value: CompositionVisualSurface) -> ::windows::runtime::Result<Self>18317     fn try_from(value: CompositionVisualSurface) -> ::windows::runtime::Result<Self> {
18318         ::std::convert::TryFrom::try_from(&value)
18319     }
18320 }
18321 impl ::std::convert::TryFrom<&CompositionVisualSurface> for IAnimationObject {
18322     type Error = ::windows::runtime::Error;
try_from(value: &CompositionVisualSurface) -> ::windows::runtime::Result<Self>18323     fn try_from(value: &CompositionVisualSurface) -> ::windows::runtime::Result<Self> {
18324         ::windows::runtime::Interface::cast(value)
18325     }
18326 }
18327 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>18328     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
18329         ::windows::runtime::IntoParam::into_param(&self)
18330     }
18331 }
18332 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>18333     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
18334         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
18335     }
18336 }
18337 impl ::std::convert::From<CompositionVisualSurface> for CompositionObject {
from(value: CompositionVisualSurface) -> Self18338     fn from(value: CompositionVisualSurface) -> Self {
18339         ::std::convert::Into::<CompositionObject>::into(&value)
18340     }
18341 }
18342 impl ::std::convert::From<&CompositionVisualSurface> for CompositionObject {
from(value: &CompositionVisualSurface) -> Self18343     fn from(value: &CompositionVisualSurface) -> Self {
18344         ::windows::runtime::Interface::cast(value).unwrap()
18345     }
18346 }
18347 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>18348     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
18349         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
18350     }
18351 }
18352 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CompositionVisualSurface {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>18353     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
18354         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
18355     }
18356 }
18357 unsafe impl ::std::marker::Send for CompositionVisualSurface {}
18358 unsafe impl ::std::marker::Sync for CompositionVisualSurface {}
18359 #[repr(transparent)]
18360 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
18361 pub struct Compositor(::windows::runtime::IInspectable);
18362 impl Compositor {
new() -> ::windows::runtime::Result<Self>18363     pub fn new() -> ::windows::runtime::Result<Self> {
18364         Self::IActivationFactory(|f| f.activate_instance::<Self>())
18365     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>18366     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
18367         static mut SHARED: ::windows::runtime::FactoryCache<Compositor, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
18368         unsafe { SHARED.call(callback) }
18369     }
18370     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>18371     pub fn Close(&self) -> ::windows::runtime::Result<()> {
18372         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
18373         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
18374     }
CreateColorKeyFrameAnimation(&self) -> ::windows::runtime::Result<ColorKeyFrameAnimation>18375     pub fn CreateColorKeyFrameAnimation(&self) -> ::windows::runtime::Result<ColorKeyFrameAnimation> {
18376         let this = self;
18377         unsafe {
18378             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18379             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ColorKeyFrameAnimation>(result__)
18380         }
18381     }
CreateColorBrush(&self) -> ::windows::runtime::Result<CompositionColorBrush>18382     pub fn CreateColorBrush(&self) -> ::windows::runtime::Result<CompositionColorBrush> {
18383         let this = self;
18384         unsafe {
18385             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18386             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionColorBrush>(result__)
18387         }
18388     }
CreateColorBrushWithColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, color: Param0) -> ::windows::runtime::Result<CompositionColorBrush>18389     pub fn CreateColorBrushWithColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, color: Param0) -> ::windows::runtime::Result<CompositionColorBrush> {
18390         let this = self;
18391         unsafe {
18392             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18393             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), color.into_param().abi(), &mut result__).from_abi::<CompositionColorBrush>(result__)
18394         }
18395     }
CreateContainerVisual(&self) -> ::windows::runtime::Result<ContainerVisual>18396     pub fn CreateContainerVisual(&self) -> ::windows::runtime::Result<ContainerVisual> {
18397         let this = self;
18398         unsafe {
18399             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18400             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContainerVisual>(result__)
18401         }
18402     }
18403     #[cfg(feature = "Foundation_Numerics")]
CreateCubicBezierEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, controlpoint1: Param0, controlpoint2: Param1) -> ::windows::runtime::Result<CubicBezierEasingFunction>18404     pub fn CreateCubicBezierEasingFunction<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, controlpoint1: Param0, controlpoint2: Param1) -> ::windows::runtime::Result<CubicBezierEasingFunction> {
18405         let this = self;
18406         unsafe {
18407             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18408             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), controlpoint1.into_param().abi(), controlpoint2.into_param().abi(), &mut result__).from_abi::<CubicBezierEasingFunction>(result__)
18409         }
18410     }
18411     #[cfg(feature = "Graphics_Effects")]
CreateEffectFactory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::Effects::IGraphicsEffect>>(&self, graphicseffect: Param0) -> ::windows::runtime::Result<CompositionEffectFactory>18412     pub fn CreateEffectFactory<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::Effects::IGraphicsEffect>>(&self, graphicseffect: Param0) -> ::windows::runtime::Result<CompositionEffectFactory> {
18413         let this = self;
18414         unsafe {
18415             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18416             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), graphicseffect.into_param().abi(), &mut result__).from_abi::<CompositionEffectFactory>(result__)
18417         }
18418     }
18419     #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Effects"))]
CreateEffectFactoryWithProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::Effects::IGraphicsEffect>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, graphicseffect: Param0, animatableproperties: Param1) -> ::windows::runtime::Result<CompositionEffectFactory>18420     pub fn CreateEffectFactoryWithProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::Effects::IGraphicsEffect>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, graphicseffect: Param0, animatableproperties: Param1) -> ::windows::runtime::Result<CompositionEffectFactory> {
18421         let this = self;
18422         unsafe {
18423             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18424             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), graphicseffect.into_param().abi(), animatableproperties.into_param().abi(), &mut result__).from_abi::<CompositionEffectFactory>(result__)
18425         }
18426     }
CreateExpressionAnimation(&self) -> ::windows::runtime::Result<ExpressionAnimation>18427     pub fn CreateExpressionAnimation(&self) -> ::windows::runtime::Result<ExpressionAnimation> {
18428         let this = self;
18429         unsafe {
18430             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18431             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ExpressionAnimation>(result__)
18432         }
18433     }
CreateExpressionAnimationWithExpression<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, expression: Param0) -> ::windows::runtime::Result<ExpressionAnimation>18434     pub fn CreateExpressionAnimationWithExpression<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, expression: Param0) -> ::windows::runtime::Result<ExpressionAnimation> {
18435         let this = self;
18436         unsafe {
18437             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18438             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), expression.into_param().abi(), &mut result__).from_abi::<ExpressionAnimation>(result__)
18439         }
18440     }
CreateInsetClip(&self) -> ::windows::runtime::Result<InsetClip>18441     pub fn CreateInsetClip(&self) -> ::windows::runtime::Result<InsetClip> {
18442         let this = self;
18443         unsafe {
18444             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18445             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InsetClip>(result__)
18446         }
18447     }
CreateInsetClipWithInsets(&self, leftinset: f32, topinset: f32, rightinset: f32, bottominset: f32) -> ::windows::runtime::Result<InsetClip>18448     pub fn CreateInsetClipWithInsets(&self, leftinset: f32, topinset: f32, rightinset: f32, bottominset: f32) -> ::windows::runtime::Result<InsetClip> {
18449         let this = self;
18450         unsafe {
18451             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18452             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), leftinset, topinset, rightinset, bottominset, &mut result__).from_abi::<InsetClip>(result__)
18453         }
18454     }
CreateLinearEasingFunction(&self) -> ::windows::runtime::Result<LinearEasingFunction>18455     pub fn CreateLinearEasingFunction(&self) -> ::windows::runtime::Result<LinearEasingFunction> {
18456         let this = self;
18457         unsafe {
18458             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18459             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<LinearEasingFunction>(result__)
18460         }
18461     }
CreatePropertySet(&self) -> ::windows::runtime::Result<CompositionPropertySet>18462     pub fn CreatePropertySet(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
18463         let this = self;
18464         unsafe {
18465             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18466             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
18467         }
18468     }
CreateQuaternionKeyFrameAnimation(&self) -> ::windows::runtime::Result<QuaternionKeyFrameAnimation>18469     pub fn CreateQuaternionKeyFrameAnimation(&self) -> ::windows::runtime::Result<QuaternionKeyFrameAnimation> {
18470         let this = self;
18471         unsafe {
18472             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18473             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<QuaternionKeyFrameAnimation>(result__)
18474         }
18475     }
CreateScalarKeyFrameAnimation(&self) -> ::windows::runtime::Result<ScalarKeyFrameAnimation>18476     pub fn CreateScalarKeyFrameAnimation(&self) -> ::windows::runtime::Result<ScalarKeyFrameAnimation> {
18477         let this = self;
18478         unsafe {
18479             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18480             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ScalarKeyFrameAnimation>(result__)
18481         }
18482     }
CreateScopedBatch(&self, batchtype: CompositionBatchTypes) -> ::windows::runtime::Result<CompositionScopedBatch>18483     pub fn CreateScopedBatch(&self, batchtype: CompositionBatchTypes) -> ::windows::runtime::Result<CompositionScopedBatch> {
18484         let this = self;
18485         unsafe {
18486             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18487             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), batchtype, &mut result__).from_abi::<CompositionScopedBatch>(result__)
18488         }
18489     }
CreateSpriteVisual(&self) -> ::windows::runtime::Result<SpriteVisual>18490     pub fn CreateSpriteVisual(&self) -> ::windows::runtime::Result<SpriteVisual> {
18491         let this = self;
18492         unsafe {
18493             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18494             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SpriteVisual>(result__)
18495         }
18496     }
CreateSurfaceBrush(&self) -> ::windows::runtime::Result<CompositionSurfaceBrush>18497     pub fn CreateSurfaceBrush(&self) -> ::windows::runtime::Result<CompositionSurfaceBrush> {
18498         let this = self;
18499         unsafe {
18500             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18501             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionSurfaceBrush>(result__)
18502         }
18503     }
CreateSurfaceBrushWithSurface<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionSurface>>(&self, surface: Param0) -> ::windows::runtime::Result<CompositionSurfaceBrush>18504     pub fn CreateSurfaceBrushWithSurface<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionSurface>>(&self, surface: Param0) -> ::windows::runtime::Result<CompositionSurfaceBrush> {
18505         let this = self;
18506         unsafe {
18507             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18508             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), surface.into_param().abi(), &mut result__).from_abi::<CompositionSurfaceBrush>(result__)
18509         }
18510     }
CreateTargetForCurrentView(&self) -> ::windows::runtime::Result<CompositionTarget>18511     pub fn CreateTargetForCurrentView(&self) -> ::windows::runtime::Result<CompositionTarget> {
18512         let this = self;
18513         unsafe {
18514             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18515             (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionTarget>(result__)
18516         }
18517     }
CreateVector2KeyFrameAnimation(&self) -> ::windows::runtime::Result<Vector2KeyFrameAnimation>18518     pub fn CreateVector2KeyFrameAnimation(&self) -> ::windows::runtime::Result<Vector2KeyFrameAnimation> {
18519         let this = self;
18520         unsafe {
18521             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18522             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Vector2KeyFrameAnimation>(result__)
18523         }
18524     }
CreateVector3KeyFrameAnimation(&self) -> ::windows::runtime::Result<Vector3KeyFrameAnimation>18525     pub fn CreateVector3KeyFrameAnimation(&self) -> ::windows::runtime::Result<Vector3KeyFrameAnimation> {
18526         let this = self;
18527         unsafe {
18528             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18529             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Vector3KeyFrameAnimation>(result__)
18530         }
18531     }
CreateVector4KeyFrameAnimation(&self) -> ::windows::runtime::Result<Vector4KeyFrameAnimation>18532     pub fn CreateVector4KeyFrameAnimation(&self) -> ::windows::runtime::Result<Vector4KeyFrameAnimation> {
18533         let this = self;
18534         unsafe {
18535             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18536             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Vector4KeyFrameAnimation>(result__)
18537         }
18538     }
GetCommitBatch(&self, batchtype: CompositionBatchTypes) -> ::windows::runtime::Result<CompositionCommitBatch>18539     pub fn GetCommitBatch(&self, batchtype: CompositionBatchTypes) -> ::windows::runtime::Result<CompositionCommitBatch> {
18540         let this = self;
18541         unsafe {
18542             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18543             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), batchtype, &mut result__).from_abi::<CompositionCommitBatch>(result__)
18544         }
18545     }
CreateAmbientLight(&self) -> ::windows::runtime::Result<AmbientLight>18546     pub fn CreateAmbientLight(&self) -> ::windows::runtime::Result<AmbientLight> {
18547         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18548         unsafe {
18549             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18550             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AmbientLight>(result__)
18551         }
18552     }
CreateAnimationGroup(&self) -> ::windows::runtime::Result<CompositionAnimationGroup>18553     pub fn CreateAnimationGroup(&self) -> ::windows::runtime::Result<CompositionAnimationGroup> {
18554         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18555         unsafe {
18556             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18557             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionAnimationGroup>(result__)
18558         }
18559     }
CreateBackdropBrush(&self) -> ::windows::runtime::Result<CompositionBackdropBrush>18560     pub fn CreateBackdropBrush(&self) -> ::windows::runtime::Result<CompositionBackdropBrush> {
18561         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18562         unsafe {
18563             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18564             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackdropBrush>(result__)
18565         }
18566     }
CreateDistantLight(&self) -> ::windows::runtime::Result<DistantLight>18567     pub fn CreateDistantLight(&self) -> ::windows::runtime::Result<DistantLight> {
18568         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18569         unsafe {
18570             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18571             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<DistantLight>(result__)
18572         }
18573     }
CreateDropShadow(&self) -> ::windows::runtime::Result<DropShadow>18574     pub fn CreateDropShadow(&self) -> ::windows::runtime::Result<DropShadow> {
18575         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18576         unsafe {
18577             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18578             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<DropShadow>(result__)
18579         }
18580     }
CreateImplicitAnimationCollection(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>18581     pub fn CreateImplicitAnimationCollection(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
18582         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18583         unsafe {
18584             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18585             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
18586         }
18587     }
CreateLayerVisual(&self) -> ::windows::runtime::Result<LayerVisual>18588     pub fn CreateLayerVisual(&self) -> ::windows::runtime::Result<LayerVisual> {
18589         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18590         unsafe {
18591             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18592             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<LayerVisual>(result__)
18593         }
18594     }
CreateMaskBrush(&self) -> ::windows::runtime::Result<CompositionMaskBrush>18595     pub fn CreateMaskBrush(&self) -> ::windows::runtime::Result<CompositionMaskBrush> {
18596         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18597         unsafe {
18598             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18599             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionMaskBrush>(result__)
18600         }
18601     }
CreateNineGridBrush(&self) -> ::windows::runtime::Result<CompositionNineGridBrush>18602     pub fn CreateNineGridBrush(&self) -> ::windows::runtime::Result<CompositionNineGridBrush> {
18603         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18604         unsafe {
18605             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18606             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionNineGridBrush>(result__)
18607         }
18608     }
CreatePointLight(&self) -> ::windows::runtime::Result<PointLight>18609     pub fn CreatePointLight(&self) -> ::windows::runtime::Result<PointLight> {
18610         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18611         unsafe {
18612             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18613             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PointLight>(result__)
18614         }
18615     }
CreateSpotLight(&self) -> ::windows::runtime::Result<SpotLight>18616     pub fn CreateSpotLight(&self) -> ::windows::runtime::Result<SpotLight> {
18617         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18618         unsafe {
18619             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18620             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SpotLight>(result__)
18621         }
18622     }
CreateStepEasingFunction(&self) -> ::windows::runtime::Result<StepEasingFunction>18623     pub fn CreateStepEasingFunction(&self) -> ::windows::runtime::Result<StepEasingFunction> {
18624         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18625         unsafe {
18626             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18627             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StepEasingFunction>(result__)
18628         }
18629     }
CreateStepEasingFunctionWithStepCount(&self, stepcount: i32) -> ::windows::runtime::Result<StepEasingFunction>18630     pub fn CreateStepEasingFunctionWithStepCount(&self, stepcount: i32) -> ::windows::runtime::Result<StepEasingFunction> {
18631         let this = &::windows::runtime::Interface::cast::<ICompositor2>(self)?;
18632         unsafe {
18633             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18634             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), stepcount, &mut result__).from_abi::<StepEasingFunction>(result__)
18635         }
18636     }
CreateHostBackdropBrush(&self) -> ::windows::runtime::Result<CompositionBackdropBrush>18637     pub fn CreateHostBackdropBrush(&self) -> ::windows::runtime::Result<CompositionBackdropBrush> {
18638         let this = &::windows::runtime::Interface::cast::<ICompositor3>(self)?;
18639         unsafe {
18640             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18641             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackdropBrush>(result__)
18642         }
18643     }
CreateColorGradientStop(&self) -> ::windows::runtime::Result<CompositionColorGradientStop>18644     pub fn CreateColorGradientStop(&self) -> ::windows::runtime::Result<CompositionColorGradientStop> {
18645         let this = &::windows::runtime::Interface::cast::<ICompositor4>(self)?;
18646         unsafe {
18647             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18648             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionColorGradientStop>(result__)
18649         }
18650     }
CreateColorGradientStopWithOffsetAndColor<'a, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, offset: f32, color: Param1) -> ::windows::runtime::Result<CompositionColorGradientStop>18651     pub fn CreateColorGradientStopWithOffsetAndColor<'a, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, offset: f32, color: Param1) -> ::windows::runtime::Result<CompositionColorGradientStop> {
18652         let this = &::windows::runtime::Interface::cast::<ICompositor4>(self)?;
18653         unsafe {
18654             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18655             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), offset, color.into_param().abi(), &mut result__).from_abi::<CompositionColorGradientStop>(result__)
18656         }
18657     }
CreateLinearGradientBrush(&self) -> ::windows::runtime::Result<CompositionLinearGradientBrush>18658     pub fn CreateLinearGradientBrush(&self) -> ::windows::runtime::Result<CompositionLinearGradientBrush> {
18659         let this = &::windows::runtime::Interface::cast::<ICompositor4>(self)?;
18660         unsafe {
18661             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18662             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionLinearGradientBrush>(result__)
18663         }
18664     }
CreateSpringScalarAnimation(&self) -> ::windows::runtime::Result<SpringScalarNaturalMotionAnimation>18665     pub fn CreateSpringScalarAnimation(&self) -> ::windows::runtime::Result<SpringScalarNaturalMotionAnimation> {
18666         let this = &::windows::runtime::Interface::cast::<ICompositor4>(self)?;
18667         unsafe {
18668             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18669             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SpringScalarNaturalMotionAnimation>(result__)
18670         }
18671     }
CreateSpringVector2Animation(&self) -> ::windows::runtime::Result<SpringVector2NaturalMotionAnimation>18672     pub fn CreateSpringVector2Animation(&self) -> ::windows::runtime::Result<SpringVector2NaturalMotionAnimation> {
18673         let this = &::windows::runtime::Interface::cast::<ICompositor4>(self)?;
18674         unsafe {
18675             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18676             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SpringVector2NaturalMotionAnimation>(result__)
18677         }
18678     }
CreateSpringVector3Animation(&self) -> ::windows::runtime::Result<SpringVector3NaturalMotionAnimation>18679     pub fn CreateSpringVector3Animation(&self) -> ::windows::runtime::Result<SpringVector3NaturalMotionAnimation> {
18680         let this = &::windows::runtime::Interface::cast::<ICompositor4>(self)?;
18681         unsafe {
18682             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18683             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SpringVector3NaturalMotionAnimation>(result__)
18684         }
18685     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>18686     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
18687         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18688         unsafe {
18689             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
18690             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
18691         }
18692     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>18693     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
18694         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18695         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
18696     }
GlobalPlaybackRate(&self) -> ::windows::runtime::Result<f32>18697     pub fn GlobalPlaybackRate(&self) -> ::windows::runtime::Result<f32> {
18698         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18699         unsafe {
18700             let mut result__: f32 = ::std::mem::zeroed();
18701             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
18702         }
18703     }
SetGlobalPlaybackRate(&self, value: f32) -> ::windows::runtime::Result<()>18704     pub fn SetGlobalPlaybackRate(&self, value: f32) -> ::windows::runtime::Result<()> {
18705         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18706         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
18707     }
CreateBounceScalarAnimation(&self) -> ::windows::runtime::Result<BounceScalarNaturalMotionAnimation>18708     pub fn CreateBounceScalarAnimation(&self) -> ::windows::runtime::Result<BounceScalarNaturalMotionAnimation> {
18709         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18710         unsafe {
18711             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18712             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BounceScalarNaturalMotionAnimation>(result__)
18713         }
18714     }
CreateBounceVector2Animation(&self) -> ::windows::runtime::Result<BounceVector2NaturalMotionAnimation>18715     pub fn CreateBounceVector2Animation(&self) -> ::windows::runtime::Result<BounceVector2NaturalMotionAnimation> {
18716         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18717         unsafe {
18718             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18719             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BounceVector2NaturalMotionAnimation>(result__)
18720         }
18721     }
CreateBounceVector3Animation(&self) -> ::windows::runtime::Result<BounceVector3NaturalMotionAnimation>18722     pub fn CreateBounceVector3Animation(&self) -> ::windows::runtime::Result<BounceVector3NaturalMotionAnimation> {
18723         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18724         unsafe {
18725             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18726             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BounceVector3NaturalMotionAnimation>(result__)
18727         }
18728     }
CreateContainerShape(&self) -> ::windows::runtime::Result<CompositionContainerShape>18729     pub fn CreateContainerShape(&self) -> ::windows::runtime::Result<CompositionContainerShape> {
18730         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18731         unsafe {
18732             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18733             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionContainerShape>(result__)
18734         }
18735     }
CreateEllipseGeometry(&self) -> ::windows::runtime::Result<CompositionEllipseGeometry>18736     pub fn CreateEllipseGeometry(&self) -> ::windows::runtime::Result<CompositionEllipseGeometry> {
18737         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18738         unsafe {
18739             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18740             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEllipseGeometry>(result__)
18741         }
18742     }
CreateLineGeometry(&self) -> ::windows::runtime::Result<CompositionLineGeometry>18743     pub fn CreateLineGeometry(&self) -> ::windows::runtime::Result<CompositionLineGeometry> {
18744         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18745         unsafe {
18746             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18747             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionLineGeometry>(result__)
18748         }
18749     }
CreatePathGeometry(&self) -> ::windows::runtime::Result<CompositionPathGeometry>18750     pub fn CreatePathGeometry(&self) -> ::windows::runtime::Result<CompositionPathGeometry> {
18751         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18752         unsafe {
18753             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18754             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPathGeometry>(result__)
18755         }
18756     }
CreatePathGeometryWithPath<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionPath>>(&self, path: Param0) -> ::windows::runtime::Result<CompositionPathGeometry>18757     pub fn CreatePathGeometryWithPath<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionPath>>(&self, path: Param0) -> ::windows::runtime::Result<CompositionPathGeometry> {
18758         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18759         unsafe {
18760             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18761             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), path.into_param().abi(), &mut result__).from_abi::<CompositionPathGeometry>(result__)
18762         }
18763     }
CreatePathKeyFrameAnimation(&self) -> ::windows::runtime::Result<PathKeyFrameAnimation>18764     pub fn CreatePathKeyFrameAnimation(&self) -> ::windows::runtime::Result<PathKeyFrameAnimation> {
18765         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18766         unsafe {
18767             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18768             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PathKeyFrameAnimation>(result__)
18769         }
18770     }
CreateRectangleGeometry(&self) -> ::windows::runtime::Result<CompositionRectangleGeometry>18771     pub fn CreateRectangleGeometry(&self) -> ::windows::runtime::Result<CompositionRectangleGeometry> {
18772         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18773         unsafe {
18774             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18775             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionRectangleGeometry>(result__)
18776         }
18777     }
CreateRoundedRectangleGeometry(&self) -> ::windows::runtime::Result<CompositionRoundedRectangleGeometry>18778     pub fn CreateRoundedRectangleGeometry(&self) -> ::windows::runtime::Result<CompositionRoundedRectangleGeometry> {
18779         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18780         unsafe {
18781             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18782             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionRoundedRectangleGeometry>(result__)
18783         }
18784     }
CreateShapeVisual(&self) -> ::windows::runtime::Result<ShapeVisual>18785     pub fn CreateShapeVisual(&self) -> ::windows::runtime::Result<ShapeVisual> {
18786         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18787         unsafe {
18788             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18789             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ShapeVisual>(result__)
18790         }
18791     }
CreateSpriteShape(&self) -> ::windows::runtime::Result<CompositionSpriteShape>18792     pub fn CreateSpriteShape(&self) -> ::windows::runtime::Result<CompositionSpriteShape> {
18793         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18794         unsafe {
18795             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18796             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionSpriteShape>(result__)
18797         }
18798     }
CreateSpriteShapeWithGeometry<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionGeometry>>(&self, geometry: Param0) -> ::windows::runtime::Result<CompositionSpriteShape>18799     pub fn CreateSpriteShapeWithGeometry<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionGeometry>>(&self, geometry: Param0) -> ::windows::runtime::Result<CompositionSpriteShape> {
18800         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18801         unsafe {
18802             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18803             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), geometry.into_param().abi(), &mut result__).from_abi::<CompositionSpriteShape>(result__)
18804         }
18805     }
CreateViewBox(&self) -> ::windows::runtime::Result<CompositionViewBox>18806     pub fn CreateViewBox(&self) -> ::windows::runtime::Result<CompositionViewBox> {
18807         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18808         unsafe {
18809             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18810             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionViewBox>(result__)
18811         }
18812     }
18813     #[cfg(feature = "Foundation")]
RequestCommitAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>18814     pub fn RequestCommitAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
18815         let this = &::windows::runtime::Interface::cast::<ICompositor5>(self)?;
18816         unsafe {
18817             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18818             (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
18819         }
18820     }
MaxGlobalPlaybackRate() -> ::windows::runtime::Result<f32>18821     pub fn MaxGlobalPlaybackRate() -> ::windows::runtime::Result<f32> {
18822         Self::ICompositorStatics(|this| unsafe {
18823             let mut result__: f32 = ::std::mem::zeroed();
18824             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
18825         })
18826     }
MinGlobalPlaybackRate() -> ::windows::runtime::Result<f32>18827     pub fn MinGlobalPlaybackRate() -> ::windows::runtime::Result<f32> {
18828         Self::ICompositorStatics(|this| unsafe {
18829             let mut result__: f32 = ::std::mem::zeroed();
18830             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
18831         })
18832     }
CreateGeometricClip(&self) -> ::windows::runtime::Result<CompositionGeometricClip>18833     pub fn CreateGeometricClip(&self) -> ::windows::runtime::Result<CompositionGeometricClip> {
18834         let this = &::windows::runtime::Interface::cast::<ICompositor6>(self)?;
18835         unsafe {
18836             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18837             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionGeometricClip>(result__)
18838         }
18839     }
CreateGeometricClipWithGeometry<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionGeometry>>(&self, geometry: Param0) -> ::windows::runtime::Result<CompositionGeometricClip>18840     pub fn CreateGeometricClipWithGeometry<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionGeometry>>(&self, geometry: Param0) -> ::windows::runtime::Result<CompositionGeometricClip> {
18841         let this = &::windows::runtime::Interface::cast::<ICompositor6>(self)?;
18842         unsafe {
18843             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18844             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), geometry.into_param().abi(), &mut result__).from_abi::<CompositionGeometricClip>(result__)
18845         }
18846     }
CreateRedirectVisual(&self) -> ::windows::runtime::Result<RedirectVisual>18847     pub fn CreateRedirectVisual(&self) -> ::windows::runtime::Result<RedirectVisual> {
18848         let this = &::windows::runtime::Interface::cast::<ICompositor6>(self)?;
18849         unsafe {
18850             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18851             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RedirectVisual>(result__)
18852         }
18853     }
CreateRedirectVisualWithSourceVisual<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, source: Param0) -> ::windows::runtime::Result<RedirectVisual>18854     pub fn CreateRedirectVisualWithSourceVisual<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, source: Param0) -> ::windows::runtime::Result<RedirectVisual> {
18855         let this = &::windows::runtime::Interface::cast::<ICompositor6>(self)?;
18856         unsafe {
18857             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18858             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), source.into_param().abi(), &mut result__).from_abi::<RedirectVisual>(result__)
18859         }
18860     }
CreateBooleanKeyFrameAnimation(&self) -> ::windows::runtime::Result<BooleanKeyFrameAnimation>18861     pub fn CreateBooleanKeyFrameAnimation(&self) -> ::windows::runtime::Result<BooleanKeyFrameAnimation> {
18862         let this = &::windows::runtime::Interface::cast::<ICompositor6>(self)?;
18863         unsafe {
18864             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18865             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BooleanKeyFrameAnimation>(result__)
18866         }
18867     }
CreateProjectedShadowCaster(&self) -> ::windows::runtime::Result<CompositionProjectedShadowCaster>18868     pub fn CreateProjectedShadowCaster(&self) -> ::windows::runtime::Result<CompositionProjectedShadowCaster> {
18869         let this = &::windows::runtime::Interface::cast::<ICompositorWithProjectedShadow>(self)?;
18870         unsafe {
18871             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18872             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionProjectedShadowCaster>(result__)
18873         }
18874     }
CreateProjectedShadow(&self) -> ::windows::runtime::Result<CompositionProjectedShadow>18875     pub fn CreateProjectedShadow(&self) -> ::windows::runtime::Result<CompositionProjectedShadow> {
18876         let this = &::windows::runtime::Interface::cast::<ICompositorWithProjectedShadow>(self)?;
18877         unsafe {
18878             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18879             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionProjectedShadow>(result__)
18880         }
18881     }
CreateProjectedShadowReceiver(&self) -> ::windows::runtime::Result<CompositionProjectedShadowReceiver>18882     pub fn CreateProjectedShadowReceiver(&self) -> ::windows::runtime::Result<CompositionProjectedShadowReceiver> {
18883         let this = &::windows::runtime::Interface::cast::<ICompositorWithProjectedShadow>(self)?;
18884         unsafe {
18885             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18886             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionProjectedShadowReceiver>(result__)
18887         }
18888     }
CreateRadialGradientBrush(&self) -> ::windows::runtime::Result<CompositionRadialGradientBrush>18889     pub fn CreateRadialGradientBrush(&self) -> ::windows::runtime::Result<CompositionRadialGradientBrush> {
18890         let this = &::windows::runtime::Interface::cast::<ICompositorWithRadialGradient>(self)?;
18891         unsafe {
18892             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18893             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionRadialGradientBrush>(result__)
18894         }
18895     }
CreateVisualSurface(&self) -> ::windows::runtime::Result<CompositionVisualSurface>18896     pub fn CreateVisualSurface(&self) -> ::windows::runtime::Result<CompositionVisualSurface> {
18897         let this = &::windows::runtime::Interface::cast::<ICompositorWithVisualSurface>(self)?;
18898         unsafe {
18899             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18900             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionVisualSurface>(result__)
18901         }
18902     }
18903     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>18904     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
18905         let this = &::windows::runtime::Interface::cast::<ICompositor7>(self)?;
18906         unsafe {
18907             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18908             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
18909         }
18910     }
CreateAnimationPropertyInfo(&self) -> ::windows::runtime::Result<AnimationPropertyInfo>18911     pub fn CreateAnimationPropertyInfo(&self) -> ::windows::runtime::Result<AnimationPropertyInfo> {
18912         let this = &::windows::runtime::Interface::cast::<ICompositor7>(self)?;
18913         unsafe {
18914             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18915             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationPropertyInfo>(result__)
18916         }
18917     }
CreateRectangleClip(&self) -> ::windows::runtime::Result<RectangleClip>18918     pub fn CreateRectangleClip(&self) -> ::windows::runtime::Result<RectangleClip> {
18919         let this = &::windows::runtime::Interface::cast::<ICompositor7>(self)?;
18920         unsafe {
18921             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18922             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RectangleClip>(result__)
18923         }
18924     }
CreateRectangleClipWithSides(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::runtime::Result<RectangleClip>18925     pub fn CreateRectangleClipWithSides(&self, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::runtime::Result<RectangleClip> {
18926         let this = &::windows::runtime::Interface::cast::<ICompositor7>(self)?;
18927         unsafe {
18928             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18929             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), left, top, right, bottom, &mut result__).from_abi::<RectangleClip>(result__)
18930         }
18931     }
18932     #[cfg(feature = "Foundation_Numerics")]
CreateRectangleClipWithSidesAndRadius<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param7: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>( &self, left: f32, top: f32, right: f32, bottom: f32, topleftradius: Param4, toprightradius: Param5, bottomrightradius: Param6, bottomleftradius: Param7, ) -> ::windows::runtime::Result<RectangleClip>18933     pub fn CreateRectangleClipWithSidesAndRadius<'a, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param7: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(
18934         &self,
18935         left: f32,
18936         top: f32,
18937         right: f32,
18938         bottom: f32,
18939         topleftradius: Param4,
18940         toprightradius: Param5,
18941         bottomrightradius: Param6,
18942         bottomleftradius: Param7,
18943     ) -> ::windows::runtime::Result<RectangleClip> {
18944         let this = &::windows::runtime::Interface::cast::<ICompositor7>(self)?;
18945         unsafe {
18946             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18947             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), left, top, right, bottom, topleftradius.into_param().abi(), toprightradius.into_param().abi(), bottomrightradius.into_param().abi(), bottomleftradius.into_param().abi(), &mut result__).from_abi::<RectangleClip>(result__)
18948         }
18949     }
TryCreateBlurredWallpaperBackdropBrush(&self) -> ::windows::runtime::Result<CompositionBackdropBrush>18950     pub fn TryCreateBlurredWallpaperBackdropBrush(&self) -> ::windows::runtime::Result<CompositionBackdropBrush> {
18951         let this = &::windows::runtime::Interface::cast::<ICompositorWithBlurredWallpaperBackdropBrush>(self)?;
18952         unsafe {
18953             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
18954             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackdropBrush>(result__)
18955         }
18956     }
ICompositorStatics<R, F: FnOnce(&ICompositorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>18957     pub fn ICompositorStatics<R, F: FnOnce(&ICompositorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
18958         static mut SHARED: ::windows::runtime::FactoryCache<Compositor, ICompositorStatics> = ::windows::runtime::FactoryCache::new();
18959         unsafe { SHARED.call(callback) }
18960     }
18961 }
18962 unsafe impl ::windows::runtime::RuntimeType for Compositor {
18963     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Compositor;{b403ca50-7f8c-4e83-985f-cc45060036d8})");
18964 }
18965 unsafe impl ::windows::runtime::Interface for Compositor {
18966     type Vtable = ICompositor_abi;
18967     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3020147280, 32652, 20099, [152, 95, 204, 69, 6, 0, 54, 216]);
18968 }
18969 impl ::windows::runtime::RuntimeName for Compositor {
18970     const NAME: &'static str = "Windows.UI.Composition.Compositor";
18971 }
18972 impl ::std::convert::From<Compositor> for ::windows::runtime::IUnknown {
from(value: Compositor) -> Self18973     fn from(value: Compositor) -> Self {
18974         unsafe { ::std::mem::transmute(value) }
18975     }
18976 }
18977 impl ::std::convert::From<&Compositor> for ::windows::runtime::IUnknown {
from(value: &Compositor) -> Self18978     fn from(value: &Compositor) -> Self {
18979         ::std::convert::From::from(::std::clone::Clone::clone(value))
18980     }
18981 }
18982 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for Compositor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>18983     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18984         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
18985     }
18986 }
18987 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &Compositor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>18988     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
18989         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
18990     }
18991 }
18992 impl ::std::convert::From<Compositor> for ::windows::runtime::IInspectable {
from(value: Compositor) -> Self18993     fn from(value: Compositor) -> Self {
18994         value.0
18995     }
18996 }
18997 impl ::std::convert::From<&Compositor> for ::windows::runtime::IInspectable {
from(value: &Compositor) -> Self18998     fn from(value: &Compositor) -> Self {
18999         value.0.clone()
19000     }
19001 }
19002 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for Compositor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>19003     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
19004         ::windows::runtime::Param::Owned(self.0)
19005     }
19006 }
19007 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a Compositor {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>19008     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
19009         ::windows::runtime::Param::Borrowed(&self.0)
19010     }
19011 }
19012 #[cfg(feature = "Foundation")]
19013 impl ::std::convert::TryFrom<Compositor> for super::super::Foundation::IClosable {
19014     type Error = ::windows::runtime::Error;
try_from(value: Compositor) -> ::windows::runtime::Result<Self>19015     fn try_from(value: Compositor) -> ::windows::runtime::Result<Self> {
19016         ::std::convert::TryFrom::try_from(&value)
19017     }
19018 }
19019 #[cfg(feature = "Foundation")]
19020 impl ::std::convert::TryFrom<&Compositor> for super::super::Foundation::IClosable {
19021     type Error = ::windows::runtime::Error;
try_from(value: &Compositor) -> ::windows::runtime::Result<Self>19022     fn try_from(value: &Compositor) -> ::windows::runtime::Result<Self> {
19023         ::windows::runtime::Interface::cast(value)
19024     }
19025 }
19026 #[cfg(feature = "Foundation")]
19027 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for Compositor {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>19028     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
19029         ::windows::runtime::IntoParam::into_param(&self)
19030     }
19031 }
19032 #[cfg(feature = "Foundation")]
19033 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &Compositor {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>19034     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
19035         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
19036     }
19037 }
19038 unsafe impl ::std::marker::Send for Compositor {}
19039 unsafe impl ::std::marker::Sync for Compositor {}
19040 #[repr(transparent)]
19041 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
19042 pub struct ContainerVisual(::windows::runtime::IInspectable);
19043 impl ContainerVisual {
Children(&self) -> ::windows::runtime::Result<VisualCollection>19044     pub fn Children(&self) -> ::windows::runtime::Result<VisualCollection> {
19045         let this = self;
19046         unsafe {
19047             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19048             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualCollection>(result__)
19049         }
19050     }
19051     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>19052     pub fn Close(&self) -> ::windows::runtime::Result<()> {
19053         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
19054         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
19055     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>19056     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
19057         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19058         unsafe {
19059             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19060             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
19061         }
19062     }
19063     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>19064     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
19065         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19066         unsafe {
19067             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19068             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
19069         }
19070     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>19071     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
19072         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19073         unsafe {
19074             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19075             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
19076         }
19077     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>19078     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
19079         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19080         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
19081     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>19082     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
19083         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19084         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
19085     }
19086     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>19087     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
19088         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19089         unsafe {
19090             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
19091             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
19092         }
19093     }
19094     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>19095     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19096         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19097         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19098     }
BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility>19099     pub fn BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility> {
19100         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19101         unsafe {
19102             let mut result__: CompositionBackfaceVisibility = ::std::mem::zeroed();
19103             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackfaceVisibility>(result__)
19104         }
19105     }
SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()>19106     pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()> {
19107         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19108         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
19109     }
BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode>19110     pub fn BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode> {
19111         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19112         unsafe {
19113             let mut result__: CompositionBorderMode = ::std::mem::zeroed();
19114             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBorderMode>(result__)
19115         }
19116     }
SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()>19117     pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()> {
19118         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19119         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
19120     }
19121     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>19122     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
19123         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19124         unsafe {
19125             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
19126             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
19127         }
19128     }
19129     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>19130     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19131         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19132         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19133     }
Clip(&self) -> ::windows::runtime::Result<CompositionClip>19134     pub fn Clip(&self) -> ::windows::runtime::Result<CompositionClip> {
19135         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19136         unsafe {
19137             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19138             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionClip>(result__)
19139         }
19140     }
SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()>19141     pub fn SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19142         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19143         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19144     }
CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode>19145     pub fn CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode> {
19146         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19147         unsafe {
19148             let mut result__: CompositionCompositeMode = ::std::mem::zeroed();
19149             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionCompositeMode>(result__)
19150         }
19151     }
SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()>19152     pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()> {
19153         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19154         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
19155     }
IsVisible(&self) -> ::windows::runtime::Result<bool>19156     pub fn IsVisible(&self) -> ::windows::runtime::Result<bool> {
19157         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19158         unsafe {
19159             let mut result__: bool = ::std::mem::zeroed();
19160             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
19161         }
19162     }
SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()>19163     pub fn SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
19164         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19165         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
19166     }
19167     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>19168     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
19169         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19170         unsafe {
19171             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
19172             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
19173         }
19174     }
19175     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>19176     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19177         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19178         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19179     }
Opacity(&self) -> ::windows::runtime::Result<f32>19180     pub fn Opacity(&self) -> ::windows::runtime::Result<f32> {
19181         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19182         unsafe {
19183             let mut result__: f32 = ::std::mem::zeroed();
19184             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
19185         }
19186     }
SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()>19187     pub fn SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()> {
19188         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19189         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
19190     }
19191     #[cfg(feature = "Foundation_Numerics")]
Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion>19192     pub fn Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion> {
19193         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19194         unsafe {
19195             let mut result__: super::super::Foundation::Numerics::Quaternion = ::std::mem::zeroed();
19196             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Quaternion>(result__)
19197         }
19198     }
19199     #[cfg(feature = "Foundation_Numerics")]
SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()>19200     pub fn SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19201         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19202         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19203     }
Parent(&self) -> ::windows::runtime::Result<ContainerVisual>19204     pub fn Parent(&self) -> ::windows::runtime::Result<ContainerVisual> {
19205         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19206         unsafe {
19207             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19208             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContainerVisual>(result__)
19209         }
19210     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>19211     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
19212         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19213         unsafe {
19214             let mut result__: f32 = ::std::mem::zeroed();
19215             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
19216         }
19217     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>19218     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
19219         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19220         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
19221     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>19222     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
19223         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19224         unsafe {
19225             let mut result__: f32 = ::std::mem::zeroed();
19226             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
19227         }
19228     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>19229     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
19230         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19231         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value).ok() }
19232     }
19233     #[cfg(feature = "Foundation_Numerics")]
RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>19234     pub fn RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
19235         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19236         unsafe {
19237             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
19238             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
19239         }
19240     }
19241     #[cfg(feature = "Foundation_Numerics")]
SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>19242     pub fn SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19243         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19244         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19245     }
19246     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>19247     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
19248         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19249         unsafe {
19250             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
19251             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
19252         }
19253     }
19254     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>19255     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19256         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19257         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19258     }
19259     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>19260     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
19261         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19262         unsafe {
19263             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
19264             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
19265         }
19266     }
19267     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>19268     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19269         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19270         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19271     }
19272     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4>19273     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4> {
19274         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19275         unsafe {
19276             let mut result__: super::super::Foundation::Numerics::Matrix4x4 = ::std::mem::zeroed();
19277             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix4x4>(result__)
19278         }
19279     }
19280     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()>19281     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19282         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19283         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19284     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>19285     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
19286         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19287         unsafe {
19288             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
19289             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
19290         }
19291     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>19292     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19293         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19294         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19295     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>19296     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
19297         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19298         unsafe {
19299             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19300             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
19301         }
19302     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>19303     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19304         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19305         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19306     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>19307     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19308         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19309         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19310     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>19311     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19312         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19313         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19314     }
ParentForTransform(&self) -> ::windows::runtime::Result<Visual>19315     pub fn ParentForTransform(&self) -> ::windows::runtime::Result<Visual> {
19316         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
19317         unsafe {
19318             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19319             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
19320         }
19321     }
SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>19322     pub fn SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19323         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
19324         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19325     }
19326     #[cfg(feature = "Foundation_Numerics")]
RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>19327     pub fn RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
19328         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
19329         unsafe {
19330             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
19331             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
19332         }
19333     }
19334     #[cfg(feature = "Foundation_Numerics")]
SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>19335     pub fn SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19336         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
19337         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19338     }
19339     #[cfg(feature = "Foundation_Numerics")]
RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>19340     pub fn RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
19341         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
19342         unsafe {
19343             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
19344             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
19345         }
19346     }
19347     #[cfg(feature = "Foundation_Numerics")]
SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>19348     pub fn SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19349         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
19350         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19351     }
19352     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>19353     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
19354         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
19355         unsafe {
19356             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19357             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
19358         }
19359     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>19360     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
19361         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
19362         unsafe {
19363             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19364             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
19365         }
19366     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>19367     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
19368         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
19369         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
19370     }
IsHitTestVisible(&self) -> ::windows::runtime::Result<bool>19371     pub fn IsHitTestVisible(&self) -> ::windows::runtime::Result<bool> {
19372         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
19373         unsafe {
19374             let mut result__: bool = ::std::mem::zeroed();
19375             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
19376         }
19377     }
SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()>19378     pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
19379         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
19380         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
19381     }
IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool>19382     pub fn IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool> {
19383         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
19384         unsafe {
19385             let mut result__: bool = ::std::mem::zeroed();
19386             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
19387         }
19388     }
SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()>19389     pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
19390         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
19391         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
19392     }
19393 }
19394 unsafe impl ::windows::runtime::RuntimeType for ContainerVisual {
19395     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ContainerVisual;{02f6bc74-ed20-4773-afe6-d49b4a93db32})");
19396 }
19397 unsafe impl ::windows::runtime::Interface for ContainerVisual {
19398     type Vtable = IContainerVisual_abi;
19399     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(49724532, 60704, 18291, [175, 230, 212, 155, 74, 147, 219, 50]);
19400 }
19401 impl ::windows::runtime::RuntimeName for ContainerVisual {
19402     const NAME: &'static str = "Windows.UI.Composition.ContainerVisual";
19403 }
19404 impl ::std::convert::From<ContainerVisual> for ::windows::runtime::IUnknown {
from(value: ContainerVisual) -> Self19405     fn from(value: ContainerVisual) -> Self {
19406         unsafe { ::std::mem::transmute(value) }
19407     }
19408 }
19409 impl ::std::convert::From<&ContainerVisual> for ::windows::runtime::IUnknown {
from(value: &ContainerVisual) -> Self19410     fn from(value: &ContainerVisual) -> Self {
19411         ::std::convert::From::from(::std::clone::Clone::clone(value))
19412     }
19413 }
19414 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>19415     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
19416         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
19417     }
19418 }
19419 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>19420     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
19421         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
19422     }
19423 }
19424 impl ::std::convert::From<ContainerVisual> for ::windows::runtime::IInspectable {
from(value: ContainerVisual) -> Self19425     fn from(value: ContainerVisual) -> Self {
19426         value.0
19427     }
19428 }
19429 impl ::std::convert::From<&ContainerVisual> for ::windows::runtime::IInspectable {
from(value: &ContainerVisual) -> Self19430     fn from(value: &ContainerVisual) -> Self {
19431         value.0.clone()
19432     }
19433 }
19434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>19435     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
19436         ::windows::runtime::Param::Owned(self.0)
19437     }
19438 }
19439 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>19440     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
19441         ::windows::runtime::Param::Borrowed(&self.0)
19442     }
19443 }
19444 #[cfg(feature = "Foundation")]
19445 impl ::std::convert::TryFrom<ContainerVisual> for super::super::Foundation::IClosable {
19446     type Error = ::windows::runtime::Error;
try_from(value: ContainerVisual) -> ::windows::runtime::Result<Self>19447     fn try_from(value: ContainerVisual) -> ::windows::runtime::Result<Self> {
19448         ::std::convert::TryFrom::try_from(&value)
19449     }
19450 }
19451 #[cfg(feature = "Foundation")]
19452 impl ::std::convert::TryFrom<&ContainerVisual> for super::super::Foundation::IClosable {
19453     type Error = ::windows::runtime::Error;
try_from(value: &ContainerVisual) -> ::windows::runtime::Result<Self>19454     fn try_from(value: &ContainerVisual) -> ::windows::runtime::Result<Self> {
19455         ::windows::runtime::Interface::cast(value)
19456     }
19457 }
19458 #[cfg(feature = "Foundation")]
19459 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>19460     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
19461         ::windows::runtime::IntoParam::into_param(&self)
19462     }
19463 }
19464 #[cfg(feature = "Foundation")]
19465 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>19466     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
19467         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
19468     }
19469 }
19470 impl ::std::convert::TryFrom<ContainerVisual> for IAnimationObject {
19471     type Error = ::windows::runtime::Error;
try_from(value: ContainerVisual) -> ::windows::runtime::Result<Self>19472     fn try_from(value: ContainerVisual) -> ::windows::runtime::Result<Self> {
19473         ::std::convert::TryFrom::try_from(&value)
19474     }
19475 }
19476 impl ::std::convert::TryFrom<&ContainerVisual> for IAnimationObject {
19477     type Error = ::windows::runtime::Error;
try_from(value: &ContainerVisual) -> ::windows::runtime::Result<Self>19478     fn try_from(value: &ContainerVisual) -> ::windows::runtime::Result<Self> {
19479         ::windows::runtime::Interface::cast(value)
19480     }
19481 }
19482 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>19483     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
19484         ::windows::runtime::IntoParam::into_param(&self)
19485     }
19486 }
19487 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>19488     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
19489         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
19490     }
19491 }
19492 impl ::std::convert::From<ContainerVisual> for Visual {
from(value: ContainerVisual) -> Self19493     fn from(value: ContainerVisual) -> Self {
19494         ::std::convert::Into::<Visual>::into(&value)
19495     }
19496 }
19497 impl ::std::convert::From<&ContainerVisual> for Visual {
from(value: &ContainerVisual) -> Self19498     fn from(value: &ContainerVisual) -> Self {
19499         ::windows::runtime::Interface::cast(value).unwrap()
19500     }
19501 }
19502 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>19503     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
19504         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(self))
19505     }
19506 }
19507 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for &ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>19508     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
19509         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(::std::clone::Clone::clone(self)))
19510     }
19511 }
19512 impl ::std::convert::From<ContainerVisual> for CompositionObject {
from(value: ContainerVisual) -> Self19513     fn from(value: ContainerVisual) -> Self {
19514         ::std::convert::Into::<CompositionObject>::into(&value)
19515     }
19516 }
19517 impl ::std::convert::From<&ContainerVisual> for CompositionObject {
from(value: &ContainerVisual) -> Self19518     fn from(value: &ContainerVisual) -> Self {
19519         ::windows::runtime::Interface::cast(value).unwrap()
19520     }
19521 }
19522 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>19523     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
19524         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
19525     }
19526 }
19527 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &ContainerVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>19528     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
19529         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
19530     }
19531 }
19532 unsafe impl ::std::marker::Send for ContainerVisual {}
19533 unsafe impl ::std::marker::Sync for ContainerVisual {}
19534 #[repr(transparent)]
19535 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
19536 pub struct CubicBezierEasingFunction(::windows::runtime::IInspectable);
19537 impl CubicBezierEasingFunction {
19538     #[cfg(feature = "Foundation_Numerics")]
ControlPoint1(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>19539     pub fn ControlPoint1(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
19540         let this = self;
19541         unsafe {
19542             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
19543             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
19544         }
19545     }
19546     #[cfg(feature = "Foundation_Numerics")]
ControlPoint2(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>19547     pub fn ControlPoint2(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
19548         let this = self;
19549         unsafe {
19550             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
19551             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
19552         }
19553     }
19554     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>19555     pub fn Close(&self) -> ::windows::runtime::Result<()> {
19556         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
19557         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
19558     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>19559     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
19560         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19561         unsafe {
19562             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19563             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
19564         }
19565     }
19566     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>19567     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
19568         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19569         unsafe {
19570             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19571             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
19572         }
19573     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>19574     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
19575         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19576         unsafe {
19577             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19578             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
19579         }
19580     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>19581     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
19582         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19583         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
19584     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>19585     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
19586         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19587         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
19588     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>19589     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
19590         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19591         unsafe {
19592             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
19593             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
19594         }
19595     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>19596     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19597         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19598         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19599     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>19600     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
19601         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19602         unsafe {
19603             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19604             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
19605         }
19606     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>19607     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19608         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19609         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19610     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>19611     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19612         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19613         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19614     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>19615     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19616         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
19617         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19618     }
19619     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>19620     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
19621         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
19622         unsafe {
19623             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19624             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
19625         }
19626     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>19627     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
19628         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
19629         unsafe {
19630             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19631             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
19632         }
19633     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>19634     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
19635         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
19636         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
19637     }
19638 }
19639 unsafe impl ::windows::runtime::RuntimeType for CubicBezierEasingFunction {
19640     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.CubicBezierEasingFunction;{32350666-c1e8-44f9-96b8-c98acf0ae698})");
19641 }
19642 unsafe impl ::windows::runtime::Interface for CubicBezierEasingFunction {
19643     type Vtable = ICubicBezierEasingFunction_abi;
19644     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(842335846, 49640, 17657, [150, 184, 201, 138, 207, 10, 230, 152]);
19645 }
19646 impl ::windows::runtime::RuntimeName for CubicBezierEasingFunction {
19647     const NAME: &'static str = "Windows.UI.Composition.CubicBezierEasingFunction";
19648 }
19649 impl ::std::convert::From<CubicBezierEasingFunction> for ::windows::runtime::IUnknown {
from(value: CubicBezierEasingFunction) -> Self19650     fn from(value: CubicBezierEasingFunction) -> Self {
19651         unsafe { ::std::mem::transmute(value) }
19652     }
19653 }
19654 impl ::std::convert::From<&CubicBezierEasingFunction> for ::windows::runtime::IUnknown {
from(value: &CubicBezierEasingFunction) -> Self19655     fn from(value: &CubicBezierEasingFunction) -> Self {
19656         ::std::convert::From::from(::std::clone::Clone::clone(value))
19657     }
19658 }
19659 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>19660     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
19661         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
19662     }
19663 }
19664 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>19665     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
19666         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
19667     }
19668 }
19669 impl ::std::convert::From<CubicBezierEasingFunction> for ::windows::runtime::IInspectable {
from(value: CubicBezierEasingFunction) -> Self19670     fn from(value: CubicBezierEasingFunction) -> Self {
19671         value.0
19672     }
19673 }
19674 impl ::std::convert::From<&CubicBezierEasingFunction> for ::windows::runtime::IInspectable {
from(value: &CubicBezierEasingFunction) -> Self19675     fn from(value: &CubicBezierEasingFunction) -> Self {
19676         value.0.clone()
19677     }
19678 }
19679 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>19680     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
19681         ::windows::runtime::Param::Owned(self.0)
19682     }
19683 }
19684 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>19685     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
19686         ::windows::runtime::Param::Borrowed(&self.0)
19687     }
19688 }
19689 #[cfg(feature = "Foundation")]
19690 impl ::std::convert::TryFrom<CubicBezierEasingFunction> for super::super::Foundation::IClosable {
19691     type Error = ::windows::runtime::Error;
try_from(value: CubicBezierEasingFunction) -> ::windows::runtime::Result<Self>19692     fn try_from(value: CubicBezierEasingFunction) -> ::windows::runtime::Result<Self> {
19693         ::std::convert::TryFrom::try_from(&value)
19694     }
19695 }
19696 #[cfg(feature = "Foundation")]
19697 impl ::std::convert::TryFrom<&CubicBezierEasingFunction> for super::super::Foundation::IClosable {
19698     type Error = ::windows::runtime::Error;
try_from(value: &CubicBezierEasingFunction) -> ::windows::runtime::Result<Self>19699     fn try_from(value: &CubicBezierEasingFunction) -> ::windows::runtime::Result<Self> {
19700         ::windows::runtime::Interface::cast(value)
19701     }
19702 }
19703 #[cfg(feature = "Foundation")]
19704 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>19705     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
19706         ::windows::runtime::IntoParam::into_param(&self)
19707     }
19708 }
19709 #[cfg(feature = "Foundation")]
19710 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>19711     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
19712         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
19713     }
19714 }
19715 impl ::std::convert::TryFrom<CubicBezierEasingFunction> for IAnimationObject {
19716     type Error = ::windows::runtime::Error;
try_from(value: CubicBezierEasingFunction) -> ::windows::runtime::Result<Self>19717     fn try_from(value: CubicBezierEasingFunction) -> ::windows::runtime::Result<Self> {
19718         ::std::convert::TryFrom::try_from(&value)
19719     }
19720 }
19721 impl ::std::convert::TryFrom<&CubicBezierEasingFunction> for IAnimationObject {
19722     type Error = ::windows::runtime::Error;
try_from(value: &CubicBezierEasingFunction) -> ::windows::runtime::Result<Self>19723     fn try_from(value: &CubicBezierEasingFunction) -> ::windows::runtime::Result<Self> {
19724         ::windows::runtime::Interface::cast(value)
19725     }
19726 }
19727 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>19728     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
19729         ::windows::runtime::IntoParam::into_param(&self)
19730     }
19731 }
19732 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>19733     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
19734         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
19735     }
19736 }
19737 impl ::std::convert::From<CubicBezierEasingFunction> for CompositionEasingFunction {
from(value: CubicBezierEasingFunction) -> Self19738     fn from(value: CubicBezierEasingFunction) -> Self {
19739         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
19740     }
19741 }
19742 impl ::std::convert::From<&CubicBezierEasingFunction> for CompositionEasingFunction {
from(value: &CubicBezierEasingFunction) -> Self19743     fn from(value: &CubicBezierEasingFunction) -> Self {
19744         ::windows::runtime::Interface::cast(value).unwrap()
19745     }
19746 }
19747 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>19748     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
19749         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
19750     }
19751 }
19752 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>19753     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
19754         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
19755     }
19756 }
19757 impl ::std::convert::From<CubicBezierEasingFunction> for CompositionObject {
from(value: CubicBezierEasingFunction) -> Self19758     fn from(value: CubicBezierEasingFunction) -> Self {
19759         ::std::convert::Into::<CompositionObject>::into(&value)
19760     }
19761 }
19762 impl ::std::convert::From<&CubicBezierEasingFunction> for CompositionObject {
from(value: &CubicBezierEasingFunction) -> Self19763     fn from(value: &CubicBezierEasingFunction) -> Self {
19764         ::windows::runtime::Interface::cast(value).unwrap()
19765     }
19766 }
19767 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>19768     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
19769         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
19770     }
19771 }
19772 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &CubicBezierEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>19773     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
19774         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
19775     }
19776 }
19777 unsafe impl ::std::marker::Send for CubicBezierEasingFunction {}
19778 unsafe impl ::std::marker::Sync for CubicBezierEasingFunction {}
19779 #[repr(transparent)]
19780 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
19781 pub struct DelegatedInkTrailVisual(::windows::runtime::IInspectable);
19782 impl DelegatedInkTrailVisual {
19783     #[cfg(feature = "Foundation")]
AddTrailPoints(&self, inkpoints: &[<InkTrailPoint as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32>19784     pub fn AddTrailPoints(&self, inkpoints: &[<InkTrailPoint as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32> {
19785         let this = self;
19786         unsafe {
19787             let mut result__: u32 = ::std::mem::zeroed();
19788             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), inkpoints.len() as u32, ::std::mem::transmute(inkpoints.as_ptr()), &mut result__).from_abi::<u32>(result__)
19789         }
19790     }
19791     #[cfg(feature = "Foundation")]
AddTrailPointsWithPrediction(&self, inkpoints: &[<InkTrailPoint as ::windows::runtime::Abi>::DefaultType], predictedinkpoints: &[<InkTrailPoint as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32>19792     pub fn AddTrailPointsWithPrediction(&self, inkpoints: &[<InkTrailPoint as ::windows::runtime::Abi>::DefaultType], predictedinkpoints: &[<InkTrailPoint as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32> {
19793         let this = self;
19794         unsafe {
19795             let mut result__: u32 = ::std::mem::zeroed();
19796             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), inkpoints.len() as u32, ::std::mem::transmute(inkpoints.as_ptr()), predictedinkpoints.len() as u32, ::std::mem::transmute(predictedinkpoints.as_ptr()), &mut result__).from_abi::<u32>(result__)
19797         }
19798     }
RemoveTrailPoints(&self, generationid: u32) -> ::windows::runtime::Result<()>19799     pub fn RemoveTrailPoints(&self, generationid: u32) -> ::windows::runtime::Result<()> {
19800         let this = self;
19801         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), generationid).ok() }
19802     }
StartNewTrail<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, color: Param0) -> ::windows::runtime::Result<()>19803     pub fn StartNewTrail<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, color: Param0) -> ::windows::runtime::Result<()> {
19804         let this = self;
19805         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), color.into_param().abi()).ok() }
19806     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(compositor: Param0) -> ::windows::runtime::Result<DelegatedInkTrailVisual>19807     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>>(compositor: Param0) -> ::windows::runtime::Result<DelegatedInkTrailVisual> {
19808         Self::IDelegatedInkTrailVisualStatics(|this| unsafe {
19809             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19810             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), compositor.into_param().abi(), &mut result__).from_abi::<DelegatedInkTrailVisual>(result__)
19811         })
19812     }
CreateForSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>, Param1: ::windows::runtime::IntoParam<'a, ICompositionSurface>>(compositor: Param0, swapchain: Param1) -> ::windows::runtime::Result<DelegatedInkTrailVisual>19813     pub fn CreateForSwapChain<'a, Param0: ::windows::runtime::IntoParam<'a, Compositor>, Param1: ::windows::runtime::IntoParam<'a, ICompositionSurface>>(compositor: Param0, swapchain: Param1) -> ::windows::runtime::Result<DelegatedInkTrailVisual> {
19814         Self::IDelegatedInkTrailVisualStatics(|this| unsafe {
19815             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19816             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), compositor.into_param().abi(), swapchain.into_param().abi(), &mut result__).from_abi::<DelegatedInkTrailVisual>(result__)
19817         })
19818     }
19819     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>19820     pub fn Close(&self) -> ::windows::runtime::Result<()> {
19821         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
19822         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
19823     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>19824     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
19825         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19826         unsafe {
19827             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19828             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
19829         }
19830     }
19831     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>19832     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
19833         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19834         unsafe {
19835             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19836             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
19837         }
19838     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>19839     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
19840         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19841         unsafe {
19842             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19843             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
19844         }
19845     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>19846     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
19847         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19848         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
19849     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>19850     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
19851         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
19852         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
19853     }
19854     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>19855     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
19856         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19857         unsafe {
19858             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
19859             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
19860         }
19861     }
19862     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>19863     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19864         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19865         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19866     }
BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility>19867     pub fn BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility> {
19868         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19869         unsafe {
19870             let mut result__: CompositionBackfaceVisibility = ::std::mem::zeroed();
19871             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackfaceVisibility>(result__)
19872         }
19873     }
SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()>19874     pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()> {
19875         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19876         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
19877     }
BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode>19878     pub fn BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode> {
19879         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19880         unsafe {
19881             let mut result__: CompositionBorderMode = ::std::mem::zeroed();
19882             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBorderMode>(result__)
19883         }
19884     }
SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()>19885     pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()> {
19886         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19887         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
19888     }
19889     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>19890     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
19891         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19892         unsafe {
19893             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
19894             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
19895         }
19896     }
19897     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>19898     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19899         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19900         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19901     }
Clip(&self) -> ::windows::runtime::Result<CompositionClip>19902     pub fn Clip(&self) -> ::windows::runtime::Result<CompositionClip> {
19903         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19904         unsafe {
19905             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19906             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionClip>(result__)
19907         }
19908     }
SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()>19909     pub fn SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19910         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19911         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19912     }
CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode>19913     pub fn CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode> {
19914         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19915         unsafe {
19916             let mut result__: CompositionCompositeMode = ::std::mem::zeroed();
19917             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionCompositeMode>(result__)
19918         }
19919     }
SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()>19920     pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()> {
19921         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19922         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
19923     }
IsVisible(&self) -> ::windows::runtime::Result<bool>19924     pub fn IsVisible(&self) -> ::windows::runtime::Result<bool> {
19925         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19926         unsafe {
19927             let mut result__: bool = ::std::mem::zeroed();
19928             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
19929         }
19930     }
SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()>19931     pub fn SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
19932         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19933         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
19934     }
19935     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>19936     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
19937         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19938         unsafe {
19939             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
19940             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
19941         }
19942     }
19943     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>19944     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19945         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19946         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19947     }
Opacity(&self) -> ::windows::runtime::Result<f32>19948     pub fn Opacity(&self) -> ::windows::runtime::Result<f32> {
19949         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19950         unsafe {
19951             let mut result__: f32 = ::std::mem::zeroed();
19952             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
19953         }
19954     }
SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()>19955     pub fn SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()> {
19956         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19957         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
19958     }
19959     #[cfg(feature = "Foundation_Numerics")]
Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion>19960     pub fn Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion> {
19961         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19962         unsafe {
19963             let mut result__: super::super::Foundation::Numerics::Quaternion = ::std::mem::zeroed();
19964             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Quaternion>(result__)
19965         }
19966     }
19967     #[cfg(feature = "Foundation_Numerics")]
SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()>19968     pub fn SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
19969         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19970         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
19971     }
Parent(&self) -> ::windows::runtime::Result<ContainerVisual>19972     pub fn Parent(&self) -> ::windows::runtime::Result<ContainerVisual> {
19973         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19974         unsafe {
19975             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
19976             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContainerVisual>(result__)
19977         }
19978     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>19979     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
19980         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19981         unsafe {
19982             let mut result__: f32 = ::std::mem::zeroed();
19983             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
19984         }
19985     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>19986     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
19987         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19988         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
19989     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>19990     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
19991         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19992         unsafe {
19993             let mut result__: f32 = ::std::mem::zeroed();
19994             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
19995         }
19996     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>19997     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
19998         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
19999         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value).ok() }
20000     }
20001     #[cfg(feature = "Foundation_Numerics")]
RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>20002     pub fn RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
20003         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
20004         unsafe {
20005             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
20006             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
20007         }
20008     }
20009     #[cfg(feature = "Foundation_Numerics")]
SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>20010     pub fn SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20011         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
20012         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20013     }
20014     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>20015     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
20016         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
20017         unsafe {
20018             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
20019             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
20020         }
20021     }
20022     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>20023     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20024         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
20025         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20026     }
20027     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>20028     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
20029         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
20030         unsafe {
20031             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
20032             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
20033         }
20034     }
20035     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>20036     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20037         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
20038         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20039     }
20040     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4>20041     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4> {
20042         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
20043         unsafe {
20044             let mut result__: super::super::Foundation::Numerics::Matrix4x4 = ::std::mem::zeroed();
20045             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix4x4>(result__)
20046         }
20047     }
20048     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()>20049     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20050         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
20051         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20052     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>20053     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
20054         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20055         unsafe {
20056             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
20057             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
20058         }
20059     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>20060     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20061         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20062         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20063     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>20064     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
20065         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20066         unsafe {
20067             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20068             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
20069         }
20070     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>20071     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20072         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20073         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20074     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>20075     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20076         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20077         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20078     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>20079     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20080         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20081         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20082     }
ParentForTransform(&self) -> ::windows::runtime::Result<Visual>20083     pub fn ParentForTransform(&self) -> ::windows::runtime::Result<Visual> {
20084         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
20085         unsafe {
20086             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20087             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
20088         }
20089     }
SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>20090     pub fn SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20091         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
20092         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20093     }
20094     #[cfg(feature = "Foundation_Numerics")]
RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>20095     pub fn RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
20096         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
20097         unsafe {
20098             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
20099             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
20100         }
20101     }
20102     #[cfg(feature = "Foundation_Numerics")]
SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>20103     pub fn SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20104         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
20105         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20106     }
20107     #[cfg(feature = "Foundation_Numerics")]
RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>20108     pub fn RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
20109         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
20110         unsafe {
20111             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
20112             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
20113         }
20114     }
20115     #[cfg(feature = "Foundation_Numerics")]
SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>20116     pub fn SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20117         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
20118         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20119     }
20120     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>20121     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
20122         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
20123         unsafe {
20124             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20125             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
20126         }
20127     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>20128     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
20129         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
20130         unsafe {
20131             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20132             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
20133         }
20134     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>20135     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
20136         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
20137         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
20138     }
IsHitTestVisible(&self) -> ::windows::runtime::Result<bool>20139     pub fn IsHitTestVisible(&self) -> ::windows::runtime::Result<bool> {
20140         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
20141         unsafe {
20142             let mut result__: bool = ::std::mem::zeroed();
20143             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
20144         }
20145     }
SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()>20146     pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
20147         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
20148         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
20149     }
IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool>20150     pub fn IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool> {
20151         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
20152         unsafe {
20153             let mut result__: bool = ::std::mem::zeroed();
20154             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
20155         }
20156     }
SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()>20157     pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
20158         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
20159         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
20160     }
IDelegatedInkTrailVisualStatics<R, F: FnOnce(&IDelegatedInkTrailVisualStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>20161     pub fn IDelegatedInkTrailVisualStatics<R, F: FnOnce(&IDelegatedInkTrailVisualStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
20162         static mut SHARED: ::windows::runtime::FactoryCache<DelegatedInkTrailVisual, IDelegatedInkTrailVisualStatics> = ::windows::runtime::FactoryCache::new();
20163         unsafe { SHARED.call(callback) }
20164     }
20165 }
20166 unsafe impl ::windows::runtime::RuntimeType for DelegatedInkTrailVisual {
20167     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.DelegatedInkTrailVisual;{856e60b1-e1ab-5b23-8e3d-d513f221c998})");
20168 }
20169 unsafe impl ::windows::runtime::Interface for DelegatedInkTrailVisual {
20170     type Vtable = IDelegatedInkTrailVisual_abi;
20171     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2238603441, 57771, 23331, [142, 61, 213, 19, 242, 33, 201, 152]);
20172 }
20173 impl ::windows::runtime::RuntimeName for DelegatedInkTrailVisual {
20174     const NAME: &'static str = "Windows.UI.Composition.DelegatedInkTrailVisual";
20175 }
20176 impl ::std::convert::From<DelegatedInkTrailVisual> for ::windows::runtime::IUnknown {
from(value: DelegatedInkTrailVisual) -> Self20177     fn from(value: DelegatedInkTrailVisual) -> Self {
20178         unsafe { ::std::mem::transmute(value) }
20179     }
20180 }
20181 impl ::std::convert::From<&DelegatedInkTrailVisual> for ::windows::runtime::IUnknown {
from(value: &DelegatedInkTrailVisual) -> Self20182     fn from(value: &DelegatedInkTrailVisual) -> Self {
20183         ::std::convert::From::from(::std::clone::Clone::clone(value))
20184     }
20185 }
20186 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20187     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20188         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20189     }
20190 }
20191 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20192     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20193         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20194     }
20195 }
20196 impl ::std::convert::From<DelegatedInkTrailVisual> for ::windows::runtime::IInspectable {
from(value: DelegatedInkTrailVisual) -> Self20197     fn from(value: DelegatedInkTrailVisual) -> Self {
20198         value.0
20199     }
20200 }
20201 impl ::std::convert::From<&DelegatedInkTrailVisual> for ::windows::runtime::IInspectable {
from(value: &DelegatedInkTrailVisual) -> Self20202     fn from(value: &DelegatedInkTrailVisual) -> Self {
20203         value.0.clone()
20204     }
20205 }
20206 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>20207     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
20208         ::windows::runtime::Param::Owned(self.0)
20209     }
20210 }
20211 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>20212     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
20213         ::windows::runtime::Param::Borrowed(&self.0)
20214     }
20215 }
20216 #[cfg(feature = "Foundation")]
20217 impl ::std::convert::TryFrom<DelegatedInkTrailVisual> for super::super::Foundation::IClosable {
20218     type Error = ::windows::runtime::Error;
try_from(value: DelegatedInkTrailVisual) -> ::windows::runtime::Result<Self>20219     fn try_from(value: DelegatedInkTrailVisual) -> ::windows::runtime::Result<Self> {
20220         ::std::convert::TryFrom::try_from(&value)
20221     }
20222 }
20223 #[cfg(feature = "Foundation")]
20224 impl ::std::convert::TryFrom<&DelegatedInkTrailVisual> for super::super::Foundation::IClosable {
20225     type Error = ::windows::runtime::Error;
try_from(value: &DelegatedInkTrailVisual) -> ::windows::runtime::Result<Self>20226     fn try_from(value: &DelegatedInkTrailVisual) -> ::windows::runtime::Result<Self> {
20227         ::windows::runtime::Interface::cast(value)
20228     }
20229 }
20230 #[cfg(feature = "Foundation")]
20231 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>20232     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
20233         ::windows::runtime::IntoParam::into_param(&self)
20234     }
20235 }
20236 #[cfg(feature = "Foundation")]
20237 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>20238     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
20239         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
20240     }
20241 }
20242 impl ::std::convert::TryFrom<DelegatedInkTrailVisual> for IAnimationObject {
20243     type Error = ::windows::runtime::Error;
try_from(value: DelegatedInkTrailVisual) -> ::windows::runtime::Result<Self>20244     fn try_from(value: DelegatedInkTrailVisual) -> ::windows::runtime::Result<Self> {
20245         ::std::convert::TryFrom::try_from(&value)
20246     }
20247 }
20248 impl ::std::convert::TryFrom<&DelegatedInkTrailVisual> for IAnimationObject {
20249     type Error = ::windows::runtime::Error;
try_from(value: &DelegatedInkTrailVisual) -> ::windows::runtime::Result<Self>20250     fn try_from(value: &DelegatedInkTrailVisual) -> ::windows::runtime::Result<Self> {
20251         ::windows::runtime::Interface::cast(value)
20252     }
20253 }
20254 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>20255     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
20256         ::windows::runtime::IntoParam::into_param(&self)
20257     }
20258 }
20259 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>20260     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
20261         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
20262     }
20263 }
20264 impl ::std::convert::From<DelegatedInkTrailVisual> for Visual {
from(value: DelegatedInkTrailVisual) -> Self20265     fn from(value: DelegatedInkTrailVisual) -> Self {
20266         ::std::convert::Into::<Visual>::into(&value)
20267     }
20268 }
20269 impl ::std::convert::From<&DelegatedInkTrailVisual> for Visual {
from(value: &DelegatedInkTrailVisual) -> Self20270     fn from(value: &DelegatedInkTrailVisual) -> Self {
20271         ::windows::runtime::Interface::cast(value).unwrap()
20272     }
20273 }
20274 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>20275     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
20276         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(self))
20277     }
20278 }
20279 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for &DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>20280     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
20281         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(::std::clone::Clone::clone(self)))
20282     }
20283 }
20284 impl ::std::convert::From<DelegatedInkTrailVisual> for CompositionObject {
from(value: DelegatedInkTrailVisual) -> Self20285     fn from(value: DelegatedInkTrailVisual) -> Self {
20286         ::std::convert::Into::<CompositionObject>::into(&value)
20287     }
20288 }
20289 impl ::std::convert::From<&DelegatedInkTrailVisual> for CompositionObject {
from(value: &DelegatedInkTrailVisual) -> Self20290     fn from(value: &DelegatedInkTrailVisual) -> Self {
20291         ::windows::runtime::Interface::cast(value).unwrap()
20292     }
20293 }
20294 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>20295     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
20296         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
20297     }
20298 }
20299 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &DelegatedInkTrailVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>20300     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
20301         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
20302     }
20303 }
20304 unsafe impl ::std::marker::Send for DelegatedInkTrailVisual {}
20305 unsafe impl ::std::marker::Sync for DelegatedInkTrailVisual {}
20306 #[repr(transparent)]
20307 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20308 pub struct DistantLight(::windows::runtime::IInspectable);
20309 impl DistantLight {
Color(&self) -> ::windows::runtime::Result<super::Color>20310     pub fn Color(&self) -> ::windows::runtime::Result<super::Color> {
20311         let this = self;
20312         unsafe {
20313             let mut result__: super::Color = ::std::mem::zeroed();
20314             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
20315         }
20316     }
SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>20317     pub fn SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20318         let this = self;
20319         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20320     }
CoordinateSpace(&self) -> ::windows::runtime::Result<Visual>20321     pub fn CoordinateSpace(&self) -> ::windows::runtime::Result<Visual> {
20322         let this = self;
20323         unsafe {
20324             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20325             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
20326         }
20327     }
SetCoordinateSpace<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>20328     pub fn SetCoordinateSpace<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20329         let this = self;
20330         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20331     }
20332     #[cfg(feature = "Foundation_Numerics")]
Direction(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>20333     pub fn Direction(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
20334         let this = self;
20335         unsafe {
20336             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
20337             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
20338         }
20339     }
20340     #[cfg(feature = "Foundation_Numerics")]
SetDirection<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>20341     pub fn SetDirection<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20342         let this = self;
20343         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20344     }
Intensity(&self) -> ::windows::runtime::Result<f32>20345     pub fn Intensity(&self) -> ::windows::runtime::Result<f32> {
20346         let this = &::windows::runtime::Interface::cast::<IDistantLight2>(self)?;
20347         unsafe {
20348             let mut result__: f32 = ::std::mem::zeroed();
20349             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
20350         }
20351     }
SetIntensity(&self, value: f32) -> ::windows::runtime::Result<()>20352     pub fn SetIntensity(&self, value: f32) -> ::windows::runtime::Result<()> {
20353         let this = &::windows::runtime::Interface::cast::<IDistantLight2>(self)?;
20354         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
20355     }
20356     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>20357     pub fn Close(&self) -> ::windows::runtime::Result<()> {
20358         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
20359         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
20360     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>20361     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
20362         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20363         unsafe {
20364             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20365             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
20366         }
20367     }
20368     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>20369     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
20370         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20371         unsafe {
20372             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20373             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
20374         }
20375     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>20376     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
20377         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20378         unsafe {
20379             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20380             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
20381         }
20382     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>20383     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
20384         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20385         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
20386     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>20387     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
20388         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20389         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
20390     }
Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>20391     pub fn Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
20392         let this = &::windows::runtime::Interface::cast::<ICompositionLight>(self)?;
20393         unsafe {
20394             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20395             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
20396         }
20397     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>20398     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
20399         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20400         unsafe {
20401             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
20402             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
20403         }
20404     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>20405     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20406         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20407         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20408     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>20409     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
20410         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20411         unsafe {
20412             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20413             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
20414         }
20415     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>20416     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20417         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20418         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20419     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>20420     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20421         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20422         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20423     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>20424     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20425         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20426         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20427     }
ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>20428     pub fn ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
20429         let this = &::windows::runtime::Interface::cast::<ICompositionLight2>(self)?;
20430         unsafe {
20431             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20432             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
20433         }
20434     }
20435     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>20436     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
20437         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
20438         unsafe {
20439             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20440             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
20441         }
20442     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>20443     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
20444         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
20445         unsafe {
20446             let mut result__: bool = ::std::mem::zeroed();
20447             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
20448         }
20449     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>20450     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
20451         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
20452         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
20453     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>20454     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
20455         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
20456         unsafe {
20457             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20458             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
20459         }
20460     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>20461     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
20462         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
20463         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
20464     }
20465 }
20466 unsafe impl ::windows::runtime::RuntimeType for DistantLight {
20467     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.DistantLight;{318cfafc-5ce3-4b55-ab5d-07a00353ac99})");
20468 }
20469 unsafe impl ::windows::runtime::Interface for DistantLight {
20470     type Vtable = IDistantLight_abi;
20471     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(831322876, 23779, 19285, [171, 93, 7, 160, 3, 83, 172, 153]);
20472 }
20473 impl ::windows::runtime::RuntimeName for DistantLight {
20474     const NAME: &'static str = "Windows.UI.Composition.DistantLight";
20475 }
20476 impl ::std::convert::From<DistantLight> for ::windows::runtime::IUnknown {
from(value: DistantLight) -> Self20477     fn from(value: DistantLight) -> Self {
20478         unsafe { ::std::mem::transmute(value) }
20479     }
20480 }
20481 impl ::std::convert::From<&DistantLight> for ::windows::runtime::IUnknown {
from(value: &DistantLight) -> Self20482     fn from(value: &DistantLight) -> Self {
20483         ::std::convert::From::from(::std::clone::Clone::clone(value))
20484     }
20485 }
20486 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20487     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20488         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20489     }
20490 }
20491 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20492     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20493         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20494     }
20495 }
20496 impl ::std::convert::From<DistantLight> for ::windows::runtime::IInspectable {
from(value: DistantLight) -> Self20497     fn from(value: DistantLight) -> Self {
20498         value.0
20499     }
20500 }
20501 impl ::std::convert::From<&DistantLight> for ::windows::runtime::IInspectable {
from(value: &DistantLight) -> Self20502     fn from(value: &DistantLight) -> Self {
20503         value.0.clone()
20504     }
20505 }
20506 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>20507     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
20508         ::windows::runtime::Param::Owned(self.0)
20509     }
20510 }
20511 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>20512     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
20513         ::windows::runtime::Param::Borrowed(&self.0)
20514     }
20515 }
20516 #[cfg(feature = "Foundation")]
20517 impl ::std::convert::TryFrom<DistantLight> for super::super::Foundation::IClosable {
20518     type Error = ::windows::runtime::Error;
try_from(value: DistantLight) -> ::windows::runtime::Result<Self>20519     fn try_from(value: DistantLight) -> ::windows::runtime::Result<Self> {
20520         ::std::convert::TryFrom::try_from(&value)
20521     }
20522 }
20523 #[cfg(feature = "Foundation")]
20524 impl ::std::convert::TryFrom<&DistantLight> for super::super::Foundation::IClosable {
20525     type Error = ::windows::runtime::Error;
try_from(value: &DistantLight) -> ::windows::runtime::Result<Self>20526     fn try_from(value: &DistantLight) -> ::windows::runtime::Result<Self> {
20527         ::windows::runtime::Interface::cast(value)
20528     }
20529 }
20530 #[cfg(feature = "Foundation")]
20531 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>20532     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
20533         ::windows::runtime::IntoParam::into_param(&self)
20534     }
20535 }
20536 #[cfg(feature = "Foundation")]
20537 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>20538     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
20539         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
20540     }
20541 }
20542 impl ::std::convert::TryFrom<DistantLight> for IAnimationObject {
20543     type Error = ::windows::runtime::Error;
try_from(value: DistantLight) -> ::windows::runtime::Result<Self>20544     fn try_from(value: DistantLight) -> ::windows::runtime::Result<Self> {
20545         ::std::convert::TryFrom::try_from(&value)
20546     }
20547 }
20548 impl ::std::convert::TryFrom<&DistantLight> for IAnimationObject {
20549     type Error = ::windows::runtime::Error;
try_from(value: &DistantLight) -> ::windows::runtime::Result<Self>20550     fn try_from(value: &DistantLight) -> ::windows::runtime::Result<Self> {
20551         ::windows::runtime::Interface::cast(value)
20552     }
20553 }
20554 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>20555     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
20556         ::windows::runtime::IntoParam::into_param(&self)
20557     }
20558 }
20559 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>20560     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
20561         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
20562     }
20563 }
20564 impl ::std::convert::From<DistantLight> for CompositionLight {
from(value: DistantLight) -> Self20565     fn from(value: DistantLight) -> Self {
20566         ::std::convert::Into::<CompositionLight>::into(&value)
20567     }
20568 }
20569 impl ::std::convert::From<&DistantLight> for CompositionLight {
from(value: &DistantLight) -> Self20570     fn from(value: &DistantLight) -> Self {
20571         ::windows::runtime::Interface::cast(value).unwrap()
20572     }
20573 }
20574 impl<'a> ::windows::runtime::IntoParam<'a, CompositionLight> for DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionLight>20575     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionLight> {
20576         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionLight>::into(self))
20577     }
20578 }
20579 impl<'a> ::windows::runtime::IntoParam<'a, CompositionLight> for &DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionLight>20580     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionLight> {
20581         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionLight>::into(::std::clone::Clone::clone(self)))
20582     }
20583 }
20584 impl ::std::convert::From<DistantLight> for CompositionObject {
from(value: DistantLight) -> Self20585     fn from(value: DistantLight) -> Self {
20586         ::std::convert::Into::<CompositionObject>::into(&value)
20587     }
20588 }
20589 impl ::std::convert::From<&DistantLight> for CompositionObject {
from(value: &DistantLight) -> Self20590     fn from(value: &DistantLight) -> Self {
20591         ::windows::runtime::Interface::cast(value).unwrap()
20592     }
20593 }
20594 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>20595     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
20596         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
20597     }
20598 }
20599 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &DistantLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>20600     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
20601         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
20602     }
20603 }
20604 unsafe impl ::std::marker::Send for DistantLight {}
20605 unsafe impl ::std::marker::Sync for DistantLight {}
20606 #[repr(transparent)]
20607 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20608 pub struct DropShadow(::windows::runtime::IInspectable);
20609 impl DropShadow {
BlurRadius(&self) -> ::windows::runtime::Result<f32>20610     pub fn BlurRadius(&self) -> ::windows::runtime::Result<f32> {
20611         let this = self;
20612         unsafe {
20613             let mut result__: f32 = ::std::mem::zeroed();
20614             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
20615         }
20616     }
SetBlurRadius(&self, value: f32) -> ::windows::runtime::Result<()>20617     pub fn SetBlurRadius(&self, value: f32) -> ::windows::runtime::Result<()> {
20618         let this = self;
20619         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
20620     }
Color(&self) -> ::windows::runtime::Result<super::Color>20621     pub fn Color(&self) -> ::windows::runtime::Result<super::Color> {
20622         let this = self;
20623         unsafe {
20624             let mut result__: super::Color = ::std::mem::zeroed();
20625             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
20626         }
20627     }
SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>20628     pub fn SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20629         let this = self;
20630         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20631     }
Mask(&self) -> ::windows::runtime::Result<CompositionBrush>20632     pub fn Mask(&self) -> ::windows::runtime::Result<CompositionBrush> {
20633         let this = self;
20634         unsafe {
20635             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20636             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBrush>(result__)
20637         }
20638     }
SetMask<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>20639     pub fn SetMask<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20640         let this = self;
20641         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20642     }
20643     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>20644     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
20645         let this = self;
20646         unsafe {
20647             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
20648             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
20649         }
20650     }
20651     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>20652     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20653         let this = self;
20654         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20655     }
Opacity(&self) -> ::windows::runtime::Result<f32>20656     pub fn Opacity(&self) -> ::windows::runtime::Result<f32> {
20657         let this = self;
20658         unsafe {
20659             let mut result__: f32 = ::std::mem::zeroed();
20660             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
20661         }
20662     }
SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()>20663     pub fn SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()> {
20664         let this = self;
20665         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
20666     }
SourcePolicy(&self) -> ::windows::runtime::Result<CompositionDropShadowSourcePolicy>20667     pub fn SourcePolicy(&self) -> ::windows::runtime::Result<CompositionDropShadowSourcePolicy> {
20668         let this = &::windows::runtime::Interface::cast::<IDropShadow2>(self)?;
20669         unsafe {
20670             let mut result__: CompositionDropShadowSourcePolicy = ::std::mem::zeroed();
20671             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionDropShadowSourcePolicy>(result__)
20672         }
20673     }
SetSourcePolicy(&self, value: CompositionDropShadowSourcePolicy) -> ::windows::runtime::Result<()>20674     pub fn SetSourcePolicy(&self, value: CompositionDropShadowSourcePolicy) -> ::windows::runtime::Result<()> {
20675         let this = &::windows::runtime::Interface::cast::<IDropShadow2>(self)?;
20676         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
20677     }
20678     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>20679     pub fn Close(&self) -> ::windows::runtime::Result<()> {
20680         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
20681         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
20682     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>20683     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
20684         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20685         unsafe {
20686             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20687             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
20688         }
20689     }
20690     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>20691     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
20692         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20693         unsafe {
20694             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20695             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
20696         }
20697     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>20698     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
20699         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20700         unsafe {
20701             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20702             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
20703         }
20704     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>20705     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
20706         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20707         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
20708     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>20709     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
20710         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20711         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
20712     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>20713     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
20714         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20715         unsafe {
20716             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
20717             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
20718         }
20719     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>20720     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20721         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20722         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20723     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>20724     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
20725         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20726         unsafe {
20727             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20728             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
20729         }
20730     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>20731     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20732         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20733         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20734     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>20735     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20736         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20737         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20738     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>20739     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20740         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20741         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20742     }
20743     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>20744     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
20745         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
20746         unsafe {
20747             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20748             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
20749         }
20750     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>20751     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
20752         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
20753         unsafe {
20754             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20755             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
20756         }
20757     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>20758     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
20759         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
20760         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
20761     }
20762 }
20763 unsafe impl ::windows::runtime::RuntimeType for DropShadow {
20764     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.DropShadow;{cb977c07-a154-4851-85e7-a8924c84fad8})");
20765 }
20766 unsafe impl ::windows::runtime::Interface for DropShadow {
20767     type Vtable = IDropShadow_abi;
20768     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3415702535, 41300, 18513, [133, 231, 168, 146, 76, 132, 250, 216]);
20769 }
20770 impl ::windows::runtime::RuntimeName for DropShadow {
20771     const NAME: &'static str = "Windows.UI.Composition.DropShadow";
20772 }
20773 impl ::std::convert::From<DropShadow> for ::windows::runtime::IUnknown {
from(value: DropShadow) -> Self20774     fn from(value: DropShadow) -> Self {
20775         unsafe { ::std::mem::transmute(value) }
20776     }
20777 }
20778 impl ::std::convert::From<&DropShadow> for ::windows::runtime::IUnknown {
from(value: &DropShadow) -> Self20779     fn from(value: &DropShadow) -> Self {
20780         ::std::convert::From::from(::std::clone::Clone::clone(value))
20781     }
20782 }
20783 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20784     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20785         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
20786     }
20787 }
20788 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>20789     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
20790         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
20791     }
20792 }
20793 impl ::std::convert::From<DropShadow> for ::windows::runtime::IInspectable {
from(value: DropShadow) -> Self20794     fn from(value: DropShadow) -> Self {
20795         value.0
20796     }
20797 }
20798 impl ::std::convert::From<&DropShadow> for ::windows::runtime::IInspectable {
from(value: &DropShadow) -> Self20799     fn from(value: &DropShadow) -> Self {
20800         value.0.clone()
20801     }
20802 }
20803 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>20804     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
20805         ::windows::runtime::Param::Owned(self.0)
20806     }
20807 }
20808 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>20809     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
20810         ::windows::runtime::Param::Borrowed(&self.0)
20811     }
20812 }
20813 #[cfg(feature = "Foundation")]
20814 impl ::std::convert::TryFrom<DropShadow> for super::super::Foundation::IClosable {
20815     type Error = ::windows::runtime::Error;
try_from(value: DropShadow) -> ::windows::runtime::Result<Self>20816     fn try_from(value: DropShadow) -> ::windows::runtime::Result<Self> {
20817         ::std::convert::TryFrom::try_from(&value)
20818     }
20819 }
20820 #[cfg(feature = "Foundation")]
20821 impl ::std::convert::TryFrom<&DropShadow> for super::super::Foundation::IClosable {
20822     type Error = ::windows::runtime::Error;
try_from(value: &DropShadow) -> ::windows::runtime::Result<Self>20823     fn try_from(value: &DropShadow) -> ::windows::runtime::Result<Self> {
20824         ::windows::runtime::Interface::cast(value)
20825     }
20826 }
20827 #[cfg(feature = "Foundation")]
20828 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>20829     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
20830         ::windows::runtime::IntoParam::into_param(&self)
20831     }
20832 }
20833 #[cfg(feature = "Foundation")]
20834 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>20835     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
20836         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
20837     }
20838 }
20839 impl ::std::convert::TryFrom<DropShadow> for IAnimationObject {
20840     type Error = ::windows::runtime::Error;
try_from(value: DropShadow) -> ::windows::runtime::Result<Self>20841     fn try_from(value: DropShadow) -> ::windows::runtime::Result<Self> {
20842         ::std::convert::TryFrom::try_from(&value)
20843     }
20844 }
20845 impl ::std::convert::TryFrom<&DropShadow> for IAnimationObject {
20846     type Error = ::windows::runtime::Error;
try_from(value: &DropShadow) -> ::windows::runtime::Result<Self>20847     fn try_from(value: &DropShadow) -> ::windows::runtime::Result<Self> {
20848         ::windows::runtime::Interface::cast(value)
20849     }
20850 }
20851 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>20852     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
20853         ::windows::runtime::IntoParam::into_param(&self)
20854     }
20855 }
20856 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>20857     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
20858         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
20859     }
20860 }
20861 impl ::std::convert::From<DropShadow> for CompositionShadow {
from(value: DropShadow) -> Self20862     fn from(value: DropShadow) -> Self {
20863         ::std::convert::Into::<CompositionShadow>::into(&value)
20864     }
20865 }
20866 impl ::std::convert::From<&DropShadow> for CompositionShadow {
from(value: &DropShadow) -> Self20867     fn from(value: &DropShadow) -> Self {
20868         ::windows::runtime::Interface::cast(value).unwrap()
20869     }
20870 }
20871 impl<'a> ::windows::runtime::IntoParam<'a, CompositionShadow> for DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, CompositionShadow>20872     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionShadow> {
20873         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionShadow>::into(self))
20874     }
20875 }
20876 impl<'a> ::windows::runtime::IntoParam<'a, CompositionShadow> for &DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, CompositionShadow>20877     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionShadow> {
20878         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionShadow>::into(::std::clone::Clone::clone(self)))
20879     }
20880 }
20881 impl ::std::convert::From<DropShadow> for CompositionObject {
from(value: DropShadow) -> Self20882     fn from(value: DropShadow) -> Self {
20883         ::std::convert::Into::<CompositionObject>::into(&value)
20884     }
20885 }
20886 impl ::std::convert::From<&DropShadow> for CompositionObject {
from(value: &DropShadow) -> Self20887     fn from(value: &DropShadow) -> Self {
20888         ::windows::runtime::Interface::cast(value).unwrap()
20889     }
20890 }
20891 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>20892     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
20893         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
20894     }
20895 }
20896 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &DropShadow {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>20897     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
20898         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
20899     }
20900 }
20901 unsafe impl ::std::marker::Send for DropShadow {}
20902 unsafe impl ::std::marker::Sync for DropShadow {}
20903 #[repr(transparent)]
20904 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20905 pub struct ElasticEasingFunction(::windows::runtime::IInspectable);
20906 impl ElasticEasingFunction {
Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode>20907     pub fn Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode> {
20908         let this = self;
20909         unsafe {
20910             let mut result__: CompositionEasingFunctionMode = ::std::mem::zeroed();
20911             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEasingFunctionMode>(result__)
20912         }
20913     }
Oscillations(&self) -> ::windows::runtime::Result<i32>20914     pub fn Oscillations(&self) -> ::windows::runtime::Result<i32> {
20915         let this = self;
20916         unsafe {
20917             let mut result__: i32 = ::std::mem::zeroed();
20918             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
20919         }
20920     }
Springiness(&self) -> ::windows::runtime::Result<f32>20921     pub fn Springiness(&self) -> ::windows::runtime::Result<f32> {
20922         let this = self;
20923         unsafe {
20924             let mut result__: f32 = ::std::mem::zeroed();
20925             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
20926         }
20927     }
20928     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>20929     pub fn Close(&self) -> ::windows::runtime::Result<()> {
20930         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
20931         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
20932     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>20933     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
20934         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20935         unsafe {
20936             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20937             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
20938         }
20939     }
20940     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>20941     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
20942         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20943         unsafe {
20944             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20945             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
20946         }
20947     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>20948     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
20949         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20950         unsafe {
20951             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20952             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
20953         }
20954     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>20955     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
20956         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20957         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
20958     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>20959     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
20960         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
20961         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
20962     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>20963     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
20964         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20965         unsafe {
20966             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
20967             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
20968         }
20969     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>20970     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20971         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20972         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20973     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>20974     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
20975         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20976         unsafe {
20977             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20978             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
20979         }
20980     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>20981     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20982         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20983         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20984     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>20985     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20986         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20987         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20988     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>20989     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
20990         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
20991         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
20992     }
20993     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>20994     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
20995         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
20996         unsafe {
20997             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
20998             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
20999         }
21000     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>21001     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
21002         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
21003         unsafe {
21004             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21005             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
21006         }
21007     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>21008     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
21009         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
21010         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
21011     }
21012 }
21013 unsafe impl ::windows::runtime::RuntimeType for ElasticEasingFunction {
21014     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ElasticEasingFunction;{66de6285-054e-5594-8475-c22cb51f1bd5})");
21015 }
21016 unsafe impl ::windows::runtime::Interface for ElasticEasingFunction {
21017     type Vtable = IElasticEasingFunction_abi;
21018     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1725850245, 1358, 21908, [132, 117, 194, 44, 181, 31, 27, 213]);
21019 }
21020 impl ::windows::runtime::RuntimeName for ElasticEasingFunction {
21021     const NAME: &'static str = "Windows.UI.Composition.ElasticEasingFunction";
21022 }
21023 impl ::std::convert::From<ElasticEasingFunction> for ::windows::runtime::IUnknown {
from(value: ElasticEasingFunction) -> Self21024     fn from(value: ElasticEasingFunction) -> Self {
21025         unsafe { ::std::mem::transmute(value) }
21026     }
21027 }
21028 impl ::std::convert::From<&ElasticEasingFunction> for ::windows::runtime::IUnknown {
from(value: &ElasticEasingFunction) -> Self21029     fn from(value: &ElasticEasingFunction) -> Self {
21030         ::std::convert::From::from(::std::clone::Clone::clone(value))
21031     }
21032 }
21033 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21034     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21035         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
21036     }
21037 }
21038 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21039     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21040         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
21041     }
21042 }
21043 impl ::std::convert::From<ElasticEasingFunction> for ::windows::runtime::IInspectable {
from(value: ElasticEasingFunction) -> Self21044     fn from(value: ElasticEasingFunction) -> Self {
21045         value.0
21046     }
21047 }
21048 impl ::std::convert::From<&ElasticEasingFunction> for ::windows::runtime::IInspectable {
from(value: &ElasticEasingFunction) -> Self21049     fn from(value: &ElasticEasingFunction) -> Self {
21050         value.0.clone()
21051     }
21052 }
21053 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>21054     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
21055         ::windows::runtime::Param::Owned(self.0)
21056     }
21057 }
21058 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>21059     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
21060         ::windows::runtime::Param::Borrowed(&self.0)
21061     }
21062 }
21063 #[cfg(feature = "Foundation")]
21064 impl ::std::convert::TryFrom<ElasticEasingFunction> for super::super::Foundation::IClosable {
21065     type Error = ::windows::runtime::Error;
try_from(value: ElasticEasingFunction) -> ::windows::runtime::Result<Self>21066     fn try_from(value: ElasticEasingFunction) -> ::windows::runtime::Result<Self> {
21067         ::std::convert::TryFrom::try_from(&value)
21068     }
21069 }
21070 #[cfg(feature = "Foundation")]
21071 impl ::std::convert::TryFrom<&ElasticEasingFunction> for super::super::Foundation::IClosable {
21072     type Error = ::windows::runtime::Error;
try_from(value: &ElasticEasingFunction) -> ::windows::runtime::Result<Self>21073     fn try_from(value: &ElasticEasingFunction) -> ::windows::runtime::Result<Self> {
21074         ::windows::runtime::Interface::cast(value)
21075     }
21076 }
21077 #[cfg(feature = "Foundation")]
21078 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>21079     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
21080         ::windows::runtime::IntoParam::into_param(&self)
21081     }
21082 }
21083 #[cfg(feature = "Foundation")]
21084 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>21085     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
21086         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
21087     }
21088 }
21089 impl ::std::convert::TryFrom<ElasticEasingFunction> for IAnimationObject {
21090     type Error = ::windows::runtime::Error;
try_from(value: ElasticEasingFunction) -> ::windows::runtime::Result<Self>21091     fn try_from(value: ElasticEasingFunction) -> ::windows::runtime::Result<Self> {
21092         ::std::convert::TryFrom::try_from(&value)
21093     }
21094 }
21095 impl ::std::convert::TryFrom<&ElasticEasingFunction> for IAnimationObject {
21096     type Error = ::windows::runtime::Error;
try_from(value: &ElasticEasingFunction) -> ::windows::runtime::Result<Self>21097     fn try_from(value: &ElasticEasingFunction) -> ::windows::runtime::Result<Self> {
21098         ::windows::runtime::Interface::cast(value)
21099     }
21100 }
21101 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>21102     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
21103         ::windows::runtime::IntoParam::into_param(&self)
21104     }
21105 }
21106 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>21107     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
21108         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
21109     }
21110 }
21111 impl ::std::convert::From<ElasticEasingFunction> for CompositionEasingFunction {
from(value: ElasticEasingFunction) -> Self21112     fn from(value: ElasticEasingFunction) -> Self {
21113         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
21114     }
21115 }
21116 impl ::std::convert::From<&ElasticEasingFunction> for CompositionEasingFunction {
from(value: &ElasticEasingFunction) -> Self21117     fn from(value: &ElasticEasingFunction) -> Self {
21118         ::windows::runtime::Interface::cast(value).unwrap()
21119     }
21120 }
21121 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>21122     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
21123         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
21124     }
21125 }
21126 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>21127     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
21128         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
21129     }
21130 }
21131 impl ::std::convert::From<ElasticEasingFunction> for CompositionObject {
from(value: ElasticEasingFunction) -> Self21132     fn from(value: ElasticEasingFunction) -> Self {
21133         ::std::convert::Into::<CompositionObject>::into(&value)
21134     }
21135 }
21136 impl ::std::convert::From<&ElasticEasingFunction> for CompositionObject {
from(value: &ElasticEasingFunction) -> Self21137     fn from(value: &ElasticEasingFunction) -> Self {
21138         ::windows::runtime::Interface::cast(value).unwrap()
21139     }
21140 }
21141 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>21142     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
21143         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
21144     }
21145 }
21146 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &ElasticEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>21147     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
21148         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
21149     }
21150 }
21151 unsafe impl ::std::marker::Send for ElasticEasingFunction {}
21152 unsafe impl ::std::marker::Sync for ElasticEasingFunction {}
21153 #[repr(transparent)]
21154 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21155 pub struct ExponentialEasingFunction(::windows::runtime::IInspectable);
21156 impl ExponentialEasingFunction {
Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode>21157     pub fn Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode> {
21158         let this = self;
21159         unsafe {
21160             let mut result__: CompositionEasingFunctionMode = ::std::mem::zeroed();
21161             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEasingFunctionMode>(result__)
21162         }
21163     }
Exponent(&self) -> ::windows::runtime::Result<f32>21164     pub fn Exponent(&self) -> ::windows::runtime::Result<f32> {
21165         let this = self;
21166         unsafe {
21167             let mut result__: f32 = ::std::mem::zeroed();
21168             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
21169         }
21170     }
21171     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>21172     pub fn Close(&self) -> ::windows::runtime::Result<()> {
21173         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
21174         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
21175     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>21176     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
21177         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21178         unsafe {
21179             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21180             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
21181         }
21182     }
21183     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>21184     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
21185         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21186         unsafe {
21187             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21188             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
21189         }
21190     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>21191     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
21192         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21193         unsafe {
21194             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21195             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
21196         }
21197     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>21198     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
21199         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21200         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
21201     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>21202     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
21203         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21204         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
21205     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>21206     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
21207         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21208         unsafe {
21209             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
21210             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
21211         }
21212     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>21213     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21214         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21215         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21216     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>21217     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
21218         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21219         unsafe {
21220             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21221             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
21222         }
21223     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>21224     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21225         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21226         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21227     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>21228     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21229         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21230         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21231     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>21232     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21233         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21234         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21235     }
21236     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>21237     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
21238         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
21239         unsafe {
21240             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21241             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
21242         }
21243     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>21244     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
21245         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
21246         unsafe {
21247             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21248             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
21249         }
21250     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>21251     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
21252         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
21253         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
21254     }
21255 }
21256 unsafe impl ::windows::runtime::RuntimeType for ExponentialEasingFunction {
21257     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ExponentialEasingFunction;{6f7d1a51-98d2-5638-a34a-00486554c750})");
21258 }
21259 unsafe impl ::windows::runtime::Interface for ExponentialEasingFunction {
21260     type Vtable = IExponentialEasingFunction_abi;
21261     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1870469713, 39122, 22072, [163, 74, 0, 72, 101, 84, 199, 80]);
21262 }
21263 impl ::windows::runtime::RuntimeName for ExponentialEasingFunction {
21264     const NAME: &'static str = "Windows.UI.Composition.ExponentialEasingFunction";
21265 }
21266 impl ::std::convert::From<ExponentialEasingFunction> for ::windows::runtime::IUnknown {
from(value: ExponentialEasingFunction) -> Self21267     fn from(value: ExponentialEasingFunction) -> Self {
21268         unsafe { ::std::mem::transmute(value) }
21269     }
21270 }
21271 impl ::std::convert::From<&ExponentialEasingFunction> for ::windows::runtime::IUnknown {
from(value: &ExponentialEasingFunction) -> Self21272     fn from(value: &ExponentialEasingFunction) -> Self {
21273         ::std::convert::From::from(::std::clone::Clone::clone(value))
21274     }
21275 }
21276 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21277     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21278         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
21279     }
21280 }
21281 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21282     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21283         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
21284     }
21285 }
21286 impl ::std::convert::From<ExponentialEasingFunction> for ::windows::runtime::IInspectable {
from(value: ExponentialEasingFunction) -> Self21287     fn from(value: ExponentialEasingFunction) -> Self {
21288         value.0
21289     }
21290 }
21291 impl ::std::convert::From<&ExponentialEasingFunction> for ::windows::runtime::IInspectable {
from(value: &ExponentialEasingFunction) -> Self21292     fn from(value: &ExponentialEasingFunction) -> Self {
21293         value.0.clone()
21294     }
21295 }
21296 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>21297     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
21298         ::windows::runtime::Param::Owned(self.0)
21299     }
21300 }
21301 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>21302     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
21303         ::windows::runtime::Param::Borrowed(&self.0)
21304     }
21305 }
21306 #[cfg(feature = "Foundation")]
21307 impl ::std::convert::TryFrom<ExponentialEasingFunction> for super::super::Foundation::IClosable {
21308     type Error = ::windows::runtime::Error;
try_from(value: ExponentialEasingFunction) -> ::windows::runtime::Result<Self>21309     fn try_from(value: ExponentialEasingFunction) -> ::windows::runtime::Result<Self> {
21310         ::std::convert::TryFrom::try_from(&value)
21311     }
21312 }
21313 #[cfg(feature = "Foundation")]
21314 impl ::std::convert::TryFrom<&ExponentialEasingFunction> for super::super::Foundation::IClosable {
21315     type Error = ::windows::runtime::Error;
try_from(value: &ExponentialEasingFunction) -> ::windows::runtime::Result<Self>21316     fn try_from(value: &ExponentialEasingFunction) -> ::windows::runtime::Result<Self> {
21317         ::windows::runtime::Interface::cast(value)
21318     }
21319 }
21320 #[cfg(feature = "Foundation")]
21321 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>21322     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
21323         ::windows::runtime::IntoParam::into_param(&self)
21324     }
21325 }
21326 #[cfg(feature = "Foundation")]
21327 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>21328     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
21329         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
21330     }
21331 }
21332 impl ::std::convert::TryFrom<ExponentialEasingFunction> for IAnimationObject {
21333     type Error = ::windows::runtime::Error;
try_from(value: ExponentialEasingFunction) -> ::windows::runtime::Result<Self>21334     fn try_from(value: ExponentialEasingFunction) -> ::windows::runtime::Result<Self> {
21335         ::std::convert::TryFrom::try_from(&value)
21336     }
21337 }
21338 impl ::std::convert::TryFrom<&ExponentialEasingFunction> for IAnimationObject {
21339     type Error = ::windows::runtime::Error;
try_from(value: &ExponentialEasingFunction) -> ::windows::runtime::Result<Self>21340     fn try_from(value: &ExponentialEasingFunction) -> ::windows::runtime::Result<Self> {
21341         ::windows::runtime::Interface::cast(value)
21342     }
21343 }
21344 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>21345     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
21346         ::windows::runtime::IntoParam::into_param(&self)
21347     }
21348 }
21349 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>21350     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
21351         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
21352     }
21353 }
21354 impl ::std::convert::From<ExponentialEasingFunction> for CompositionEasingFunction {
from(value: ExponentialEasingFunction) -> Self21355     fn from(value: ExponentialEasingFunction) -> Self {
21356         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
21357     }
21358 }
21359 impl ::std::convert::From<&ExponentialEasingFunction> for CompositionEasingFunction {
from(value: &ExponentialEasingFunction) -> Self21360     fn from(value: &ExponentialEasingFunction) -> Self {
21361         ::windows::runtime::Interface::cast(value).unwrap()
21362     }
21363 }
21364 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>21365     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
21366         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
21367     }
21368 }
21369 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>21370     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
21371         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
21372     }
21373 }
21374 impl ::std::convert::From<ExponentialEasingFunction> for CompositionObject {
from(value: ExponentialEasingFunction) -> Self21375     fn from(value: ExponentialEasingFunction) -> Self {
21376         ::std::convert::Into::<CompositionObject>::into(&value)
21377     }
21378 }
21379 impl ::std::convert::From<&ExponentialEasingFunction> for CompositionObject {
from(value: &ExponentialEasingFunction) -> Self21380     fn from(value: &ExponentialEasingFunction) -> Self {
21381         ::windows::runtime::Interface::cast(value).unwrap()
21382     }
21383 }
21384 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>21385     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
21386         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
21387     }
21388 }
21389 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &ExponentialEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>21390     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
21391         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
21392     }
21393 }
21394 unsafe impl ::std::marker::Send for ExponentialEasingFunction {}
21395 unsafe impl ::std::marker::Sync for ExponentialEasingFunction {}
21396 #[repr(transparent)]
21397 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21398 pub struct ExpressionAnimation(::windows::runtime::IInspectable);
21399 impl ExpressionAnimation {
Expression(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>21400     pub fn Expression(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
21401         let this = self;
21402         unsafe {
21403             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
21404             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
21405         }
21406     }
SetExpression<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>21407     pub fn SetExpression<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21408         let this = self;
21409         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21410     }
21411     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>21412     pub fn Close(&self) -> ::windows::runtime::Result<()> {
21413         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
21414         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
21415     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>21416     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
21417         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21418         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
21419     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>21420     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
21421         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21422         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
21423     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>21424     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
21425         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21426         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
21427     }
21428     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>21429     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
21430         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21431         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
21432     }
21433     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>21434     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
21435         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21436         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
21437     }
21438     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>21439     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
21440         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21441         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
21442     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>21443     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
21444         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21445         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
21446     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>21447     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
21448         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21449         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
21450     }
21451     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>21452     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
21453         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21454         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
21455     }
21456     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>21457     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
21458         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21459         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
21460     }
21461     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>21462     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
21463         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
21464         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
21465     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>21466     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
21467         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21468         unsafe {
21469             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21470             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
21471         }
21472     }
21473     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>21474     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
21475         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21476         unsafe {
21477             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21478             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
21479         }
21480     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>21481     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
21482         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21483         unsafe {
21484             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21485             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
21486         }
21487     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>21488     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
21489         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21490         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
21491     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>21492     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
21493         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
21494         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
21495     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>21496     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
21497         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
21498         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
21499     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>21500     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
21501         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
21502         unsafe {
21503             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
21504             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
21505         }
21506     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>21507     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21508         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
21509         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21510     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>21511     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
21512         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21513         unsafe {
21514             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
21515             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
21516         }
21517     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>21518     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21519         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21520         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21521     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>21522     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
21523         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21524         unsafe {
21525             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21526             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
21527         }
21528     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>21529     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21530         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21531         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21532     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>21533     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21534         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21535         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21536     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>21537     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
21538         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
21539         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
21540     }
21541     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>21542     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
21543         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
21544         unsafe {
21545             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21546             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
21547         }
21548     }
21549     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>21550     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
21551         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
21552         unsafe {
21553             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21554             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
21555         }
21556     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>21557     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
21558         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
21559         unsafe {
21560             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
21561             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
21562         }
21563     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>21564     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
21565         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
21566         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
21567     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>21568     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
21569         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
21570         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
21571     }
21572 }
21573 unsafe impl ::windows::runtime::RuntimeType for ExpressionAnimation {
21574     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ExpressionAnimation;{6acc5431-7d3d-4bf3-abb6-f44bdc4888c1})");
21575 }
21576 unsafe impl ::windows::runtime::Interface for ExpressionAnimation {
21577     type Vtable = IExpressionAnimation_abi;
21578     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1791775793, 32061, 19443, [171, 182, 244, 75, 220, 72, 136, 193]);
21579 }
21580 impl ::windows::runtime::RuntimeName for ExpressionAnimation {
21581     const NAME: &'static str = "Windows.UI.Composition.ExpressionAnimation";
21582 }
21583 impl ::std::convert::From<ExpressionAnimation> for ::windows::runtime::IUnknown {
from(value: ExpressionAnimation) -> Self21584     fn from(value: ExpressionAnimation) -> Self {
21585         unsafe { ::std::mem::transmute(value) }
21586     }
21587 }
21588 impl ::std::convert::From<&ExpressionAnimation> for ::windows::runtime::IUnknown {
from(value: &ExpressionAnimation) -> Self21589     fn from(value: &ExpressionAnimation) -> Self {
21590         ::std::convert::From::from(::std::clone::Clone::clone(value))
21591     }
21592 }
21593 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21594     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21595         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
21596     }
21597 }
21598 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21599     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21600         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
21601     }
21602 }
21603 impl ::std::convert::From<ExpressionAnimation> for ::windows::runtime::IInspectable {
from(value: ExpressionAnimation) -> Self21604     fn from(value: ExpressionAnimation) -> Self {
21605         value.0
21606     }
21607 }
21608 impl ::std::convert::From<&ExpressionAnimation> for ::windows::runtime::IInspectable {
from(value: &ExpressionAnimation) -> Self21609     fn from(value: &ExpressionAnimation) -> Self {
21610         value.0.clone()
21611     }
21612 }
21613 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>21614     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
21615         ::windows::runtime::Param::Owned(self.0)
21616     }
21617 }
21618 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>21619     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
21620         ::windows::runtime::Param::Borrowed(&self.0)
21621     }
21622 }
21623 #[cfg(feature = "Foundation")]
21624 impl ::std::convert::TryFrom<ExpressionAnimation> for super::super::Foundation::IClosable {
21625     type Error = ::windows::runtime::Error;
try_from(value: ExpressionAnimation) -> ::windows::runtime::Result<Self>21626     fn try_from(value: ExpressionAnimation) -> ::windows::runtime::Result<Self> {
21627         ::std::convert::TryFrom::try_from(&value)
21628     }
21629 }
21630 #[cfg(feature = "Foundation")]
21631 impl ::std::convert::TryFrom<&ExpressionAnimation> for super::super::Foundation::IClosable {
21632     type Error = ::windows::runtime::Error;
try_from(value: &ExpressionAnimation) -> ::windows::runtime::Result<Self>21633     fn try_from(value: &ExpressionAnimation) -> ::windows::runtime::Result<Self> {
21634         ::windows::runtime::Interface::cast(value)
21635     }
21636 }
21637 #[cfg(feature = "Foundation")]
21638 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>21639     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
21640         ::windows::runtime::IntoParam::into_param(&self)
21641     }
21642 }
21643 #[cfg(feature = "Foundation")]
21644 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>21645     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
21646         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
21647     }
21648 }
21649 impl ::std::convert::TryFrom<ExpressionAnimation> for ICompositionAnimationBase {
21650     type Error = ::windows::runtime::Error;
try_from(value: ExpressionAnimation) -> ::windows::runtime::Result<Self>21651     fn try_from(value: ExpressionAnimation) -> ::windows::runtime::Result<Self> {
21652         ::std::convert::TryFrom::try_from(&value)
21653     }
21654 }
21655 impl ::std::convert::TryFrom<&ExpressionAnimation> for ICompositionAnimationBase {
21656     type Error = ::windows::runtime::Error;
try_from(value: &ExpressionAnimation) -> ::windows::runtime::Result<Self>21657     fn try_from(value: &ExpressionAnimation) -> ::windows::runtime::Result<Self> {
21658         ::windows::runtime::Interface::cast(value)
21659     }
21660 }
21661 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>21662     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
21663         ::windows::runtime::IntoParam::into_param(&self)
21664     }
21665 }
21666 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>21667     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
21668         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
21669     }
21670 }
21671 impl ::std::convert::TryFrom<ExpressionAnimation> for IAnimationObject {
21672     type Error = ::windows::runtime::Error;
try_from(value: ExpressionAnimation) -> ::windows::runtime::Result<Self>21673     fn try_from(value: ExpressionAnimation) -> ::windows::runtime::Result<Self> {
21674         ::std::convert::TryFrom::try_from(&value)
21675     }
21676 }
21677 impl ::std::convert::TryFrom<&ExpressionAnimation> for IAnimationObject {
21678     type Error = ::windows::runtime::Error;
try_from(value: &ExpressionAnimation) -> ::windows::runtime::Result<Self>21679     fn try_from(value: &ExpressionAnimation) -> ::windows::runtime::Result<Self> {
21680         ::windows::runtime::Interface::cast(value)
21681     }
21682 }
21683 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>21684     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
21685         ::windows::runtime::IntoParam::into_param(&self)
21686     }
21687 }
21688 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>21689     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
21690         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
21691     }
21692 }
21693 impl ::std::convert::From<ExpressionAnimation> for CompositionAnimation {
from(value: ExpressionAnimation) -> Self21694     fn from(value: ExpressionAnimation) -> Self {
21695         ::std::convert::Into::<CompositionAnimation>::into(&value)
21696     }
21697 }
21698 impl ::std::convert::From<&ExpressionAnimation> for CompositionAnimation {
from(value: &ExpressionAnimation) -> Self21699     fn from(value: &ExpressionAnimation) -> Self {
21700         ::windows::runtime::Interface::cast(value).unwrap()
21701     }
21702 }
21703 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>21704     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
21705         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
21706     }
21707 }
21708 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>21709     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
21710         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
21711     }
21712 }
21713 impl ::std::convert::From<ExpressionAnimation> for CompositionObject {
from(value: ExpressionAnimation) -> Self21714     fn from(value: ExpressionAnimation) -> Self {
21715         ::std::convert::Into::<CompositionObject>::into(&value)
21716     }
21717 }
21718 impl ::std::convert::From<&ExpressionAnimation> for CompositionObject {
from(value: &ExpressionAnimation) -> Self21719     fn from(value: &ExpressionAnimation) -> Self {
21720         ::windows::runtime::Interface::cast(value).unwrap()
21721     }
21722 }
21723 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>21724     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
21725         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
21726     }
21727 }
21728 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &ExpressionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>21729     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
21730         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
21731     }
21732 }
21733 unsafe impl ::std::marker::Send for ExpressionAnimation {}
21734 unsafe impl ::std::marker::Sync for ExpressionAnimation {}
21735 #[repr(transparent)]
21736 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21737 #[doc(hidden)]
21738 pub struct IAmbientLight(::windows::runtime::IInspectable);
21739 unsafe impl ::windows::runtime::Interface for IAmbientLight {
21740     type Vtable = IAmbientLight_abi;
21741     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2759930017, 47044, 18167, [185, 191, 218, 244, 58, 68, 230, 238]);
21742 }
21743 #[repr(C)]
21744 #[doc(hidden)]
21745 pub struct IAmbientLight_abi(
21746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
21753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
21754 );
21755 #[repr(transparent)]
21756 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21757 #[doc(hidden)]
21758 pub struct IAmbientLight2(::windows::runtime::IInspectable);
21759 unsafe impl ::windows::runtime::Interface for IAmbientLight2 {
21760     type Vtable = IAmbientLight2_abi;
21761     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(996452031, 24471, 19604, [134, 229, 4, 45, 211, 134, 178, 125]);
21762 }
21763 #[repr(C)]
21764 #[doc(hidden)]
21765 pub struct IAmbientLight2_abi(
21766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
21773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
21774 );
21775 #[repr(transparent)]
21776 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21777 #[doc(hidden)]
21778 pub struct IAnimationController(::windows::runtime::IInspectable);
21779 unsafe impl ::windows::runtime::Interface for IAnimationController {
21780     type Vtable = IAnimationController_abi;
21781     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3375689682, 1826, 20319, [164, 226, 149, 16, 243, 212, 59, 247]);
21782 }
21783 #[repr(C)]
21784 #[doc(hidden)]
21785 pub struct IAnimationController_abi(
21786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
21793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
21794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
21795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
21796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AnimationControllerProgressBehavior) -> ::windows::runtime::HRESULT,
21797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AnimationControllerProgressBehavior) -> ::windows::runtime::HRESULT,
21798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21800 );
21801 #[repr(transparent)]
21802 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21803 #[doc(hidden)]
21804 pub struct IAnimationControllerStatics(::windows::runtime::IInspectable);
21805 unsafe impl ::windows::runtime::Interface for IAnimationControllerStatics {
21806     type Vtable = IAnimationControllerStatics_abi;
21807     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3876676831, 25883, 18432, [185, 229, 106, 59, 207, 237, 51, 101]);
21808 }
21809 #[repr(C)]
21810 #[doc(hidden)]
21811 pub struct IAnimationControllerStatics_abi(
21812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
21819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
21820 );
21821 #[repr(transparent)]
21822 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21823 pub struct IAnimationObject(::windows::runtime::IInspectable);
21824 unsafe impl ::windows::runtime::Interface for IAnimationObject {
21825     type Vtable = IAnimationObject_abi;
21826     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3876855306, 1208, 20421, [164, 220, 25, 83, 146, 229, 120, 7]);
21827 }
21828 impl IAnimationObject {
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>21829     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
21830         let this = self;
21831         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
21832     }
21833 }
21834 unsafe impl ::windows::runtime::RuntimeType for IAnimationObject {
21835     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{e7141e0a-04b8-4fc5-a4dc-195392e57807}");
21836 }
21837 impl ::std::convert::From<IAnimationObject> for ::windows::runtime::IUnknown {
from(value: IAnimationObject) -> Self21838     fn from(value: IAnimationObject) -> Self {
21839         unsafe { ::std::mem::transmute(value) }
21840     }
21841 }
21842 impl ::std::convert::From<&IAnimationObject> for ::windows::runtime::IUnknown {
from(value: &IAnimationObject) -> Self21843     fn from(value: &IAnimationObject) -> Self {
21844         ::std::convert::From::from(::std::clone::Clone::clone(value))
21845     }
21846 }
21847 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAnimationObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21848     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21849         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
21850     }
21851 }
21852 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAnimationObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>21853     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
21854         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
21855     }
21856 }
21857 impl ::std::convert::From<IAnimationObject> for ::windows::runtime::IInspectable {
from(value: IAnimationObject) -> Self21858     fn from(value: IAnimationObject) -> Self {
21859         value.0
21860     }
21861 }
21862 impl ::std::convert::From<&IAnimationObject> for ::windows::runtime::IInspectable {
from(value: &IAnimationObject) -> Self21863     fn from(value: &IAnimationObject) -> Self {
21864         value.0.clone()
21865     }
21866 }
21867 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IAnimationObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>21868     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
21869         ::windows::runtime::Param::Owned(self.0)
21870     }
21871 }
21872 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IAnimationObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>21873     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
21874         ::windows::runtime::Param::Borrowed(&self.0)
21875     }
21876 }
21877 #[repr(C)]
21878 #[doc(hidden)]
21879 pub struct IAnimationObject_abi(
21880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, propertyinfo: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21887 );
21888 #[repr(transparent)]
21889 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21890 #[doc(hidden)]
21891 pub struct IAnimationPropertyInfo(::windows::runtime::IInspectable);
21892 unsafe impl ::windows::runtime::Interface for IAnimationPropertyInfo {
21893     type Vtable = IAnimationPropertyInfo_abi;
21894     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4101074693, 60791, 20028, [179, 40, 92, 57, 133, 179, 115, 143]);
21895 }
21896 #[repr(C)]
21897 #[doc(hidden)]
21898 pub struct IAnimationPropertyInfo_abi(
21899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AnimationPropertyAccessMode) -> ::windows::runtime::HRESULT,
21906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AnimationPropertyAccessMode) -> ::windows::runtime::HRESULT,
21907 );
21908 #[repr(transparent)]
21909 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21910 #[doc(hidden)]
21911 pub struct IAnimationPropertyInfo2(::windows::runtime::IInspectable);
21912 unsafe impl ::windows::runtime::Interface for IAnimationPropertyInfo2 {
21913     type Vtable = IAnimationPropertyInfo2_abi;
21914     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1494687924, 29810, 21016, [139, 57, 223, 254, 97, 90, 230, 218]);
21915 }
21916 #[repr(C)]
21917 #[doc(hidden)]
21918 pub struct IAnimationPropertyInfo2_abi(
21919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
21927 );
21928 #[repr(transparent)]
21929 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21930 #[doc(hidden)]
21931 pub struct IBackEasingFunction(::windows::runtime::IInspectable);
21932 unsafe impl ::windows::runtime::Interface for IBackEasingFunction {
21933     type Vtable = IBackEasingFunction_abi;
21934     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3092647332, 24124, 21597, [178, 99, 121, 135, 162, 189, 39, 203]);
21935 }
21936 #[repr(C)]
21937 #[doc(hidden)]
21938 pub struct IBackEasingFunction_abi(
21939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionEasingFunctionMode) -> ::windows::runtime::HRESULT,
21946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
21947 );
21948 #[repr(transparent)]
21949 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21950 #[doc(hidden)]
21951 pub struct IBooleanKeyFrameAnimation(::windows::runtime::IInspectable);
21952 unsafe impl ::windows::runtime::Interface for IBooleanKeyFrameAnimation {
21953     type Vtable = IBooleanKeyFrameAnimation_abi;
21954     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2514631176, 53748, 18802, [151, 112, 62, 254, 104, 216, 46, 20]);
21955 }
21956 #[repr(C)]
21957 #[doc(hidden)]
21958 pub struct IBooleanKeyFrameAnimation_abi(
21959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: bool) -> ::windows::runtime::HRESULT,
21966 );
21967 #[repr(transparent)]
21968 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21969 #[doc(hidden)]
21970 pub struct IBounceEasingFunction(::windows::runtime::IInspectable);
21971 unsafe impl ::windows::runtime::Interface for IBounceEasingFunction {
21972     type Vtable = IBounceEasingFunction_abi;
21973     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3892163659, 43733, 20852, [148, 33, 238, 248, 183, 90, 106, 67]);
21974 }
21975 #[repr(C)]
21976 #[doc(hidden)]
21977 pub struct IBounceEasingFunction_abi(
21978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
21981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
21982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
21983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
21984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionEasingFunctionMode) -> ::windows::runtime::HRESULT,
21985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
21986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
21987 );
21988 #[repr(transparent)]
21989 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
21990 #[doc(hidden)]
21991 pub struct IBounceScalarNaturalMotionAnimation(::windows::runtime::IInspectable);
21992 unsafe impl ::windows::runtime::Interface for IBounceScalarNaturalMotionAnimation {
21993     type Vtable = IBounceScalarNaturalMotionAnimation_abi;
21994     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3131248076, 42547, 17944, [155, 6, 127, 124, 114, 200, 124, 255]);
21995 }
21996 #[repr(C)]
21997 #[doc(hidden)]
21998 pub struct IBounceScalarNaturalMotionAnimation_abi(
21999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22009 );
22010 #[repr(transparent)]
22011 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22012 #[doc(hidden)]
22013 pub struct IBounceVector2NaturalMotionAnimation(::windows::runtime::IInspectable);
22014 unsafe impl ::windows::runtime::Interface for IBounceVector2NaturalMotionAnimation {
22015     type Vtable = IBounceVector2NaturalMotionAnimation_abi;
22016     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3660857750, 8532, 19260, [136, 170, 71, 54, 18, 4, 236, 205]);
22017 }
22018 #[repr(C)]
22019 #[doc(hidden)]
22020 pub struct IBounceVector2NaturalMotionAnimation_abi(
22021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22031 );
22032 #[repr(transparent)]
22033 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22034 #[doc(hidden)]
22035 pub struct IBounceVector3NaturalMotionAnimation(::windows::runtime::IInspectable);
22036 unsafe impl ::windows::runtime::Interface for IBounceVector3NaturalMotionAnimation {
22037     type Vtable = IBounceVector3NaturalMotionAnimation_abi;
22038     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1205517361, 4307, 17688, [134, 241, 9, 202, 247, 66, 209, 19]);
22039 }
22040 #[repr(C)]
22041 #[doc(hidden)]
22042 pub struct IBounceVector3NaturalMotionAnimation_abi(
22043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22053 );
22054 #[repr(transparent)]
22055 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22056 #[doc(hidden)]
22057 pub struct ICircleEasingFunction(::windows::runtime::IInspectable);
22058 unsafe impl ::windows::runtime::Interface for ICircleEasingFunction {
22059     type Vtable = ICircleEasingFunction_abi;
22060     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(503783978, 28546, 23080, [135, 72, 46, 146, 252, 70, 238, 43]);
22061 }
22062 #[repr(C)]
22063 #[doc(hidden)]
22064 pub struct ICircleEasingFunction_abi(
22065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionEasingFunctionMode) -> ::windows::runtime::HRESULT,
22072 );
22073 #[repr(transparent)]
22074 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22075 #[doc(hidden)]
22076 pub struct IColorKeyFrameAnimation(::windows::runtime::IInspectable);
22077 unsafe impl ::windows::runtime::Interface for IColorKeyFrameAnimation {
22078     type Vtable = IColorKeyFrameAnimation_abi;
22079     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2477635049, 36357, 17811, [132, 163, 220, 161, 82, 120, 30, 86]);
22080 }
22081 #[repr(C)]
22082 #[doc(hidden)]
22083 pub struct IColorKeyFrameAnimation_abi(
22084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionColorSpace) -> ::windows::runtime::HRESULT,
22091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionColorSpace) -> ::windows::runtime::HRESULT,
22092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::Color) -> ::windows::runtime::HRESULT,
22093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::Color, easingfunction: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22094 );
22095 #[repr(transparent)]
22096 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22097 #[doc(hidden)]
22098 pub struct ICompositionAnimation(::windows::runtime::IInspectable);
22099 unsafe impl ::windows::runtime::Interface for ICompositionAnimation {
22100     type Vtable = ICompositionAnimation_abi;
22101     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1179405356, 7338, 16481, [155, 64, 225, 63, 222, 21, 3, 202]);
22102 }
22103 #[repr(C)]
22104 #[doc(hidden)]
22105 pub struct ICompositionAnimation_abi(
22106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
22114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::Color) -> ::windows::runtime::HRESULT,
22115     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
22116     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22117     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::runtime::HRESULT,
22118     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22119     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::HRESULT,
22120     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, compositionobject: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: f32) -> ::windows::runtime::HRESULT,
22123     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22124     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22125     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
22126     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22127     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Vector4) -> ::windows::runtime::HRESULT,
22128     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22129 );
22130 #[repr(transparent)]
22131 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22132 #[doc(hidden)]
22133 pub struct ICompositionAnimation2(::windows::runtime::IInspectable);
22134 unsafe impl ::windows::runtime::Interface for ICompositionAnimation2 {
22135     type Vtable = ICompositionAnimation2_abi;
22136     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(916152382, 43023, 18760, [147, 227, 237, 35, 251, 56, 198, 203]);
22137 }
22138 #[repr(C)]
22139 #[doc(hidden)]
22140 pub struct ICompositionAnimation2_abi(
22141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: bool) -> ::windows::runtime::HRESULT,
22148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
22149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
22150 );
22151 #[repr(transparent)]
22152 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22153 #[doc(hidden)]
22154 pub struct ICompositionAnimation3(::windows::runtime::IInspectable);
22155 unsafe impl ::windows::runtime::Interface for ICompositionAnimation3 {
22156     type Vtable = ICompositionAnimation3_abi;
22157     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3575513869, 32164, 19415, [188, 45, 244, 81, 117, 41, 244, 58]);
22158 }
22159 #[repr(C)]
22160 #[doc(hidden)]
22161 pub struct ICompositionAnimation3_abi(
22162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22168     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22169     #[cfg(not(feature = "Foundation_Collections"))] usize,
22170 );
22171 #[repr(transparent)]
22172 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22173 #[doc(hidden)]
22174 pub struct ICompositionAnimation4(::windows::runtime::IInspectable);
22175 unsafe impl ::windows::runtime::Interface for ICompositionAnimation4 {
22176     type Vtable = ICompositionAnimation4_abi;
22177     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1996568510, 30396, 20003, [191, 237, 254, 156, 194, 15, 110, 201]);
22178 }
22179 #[repr(C)]
22180 #[doc(hidden)]
22181 pub struct ICompositionAnimation4_abi(
22182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parametername: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, source: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22189 );
22190 #[repr(transparent)]
22191 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22192 pub struct ICompositionAnimationBase(::windows::runtime::IInspectable);
22193 unsafe impl ::windows::runtime::Interface for ICompositionAnimationBase {
22194     type Vtable = ICompositionAnimationBase_abi;
22195     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(472656281, 59416, 18643, [166, 221, 215, 140, 130, 248, 172, 233]);
22196 }
22197 impl ICompositionAnimationBase {}
22198 unsafe impl ::windows::runtime::RuntimeType for ICompositionAnimationBase {
22199     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{1c2c2999-e818-48d3-a6dd-d78c82f8ace9}");
22200 }
22201 impl ::std::convert::From<ICompositionAnimationBase> for ::windows::runtime::IUnknown {
from(value: ICompositionAnimationBase) -> Self22202     fn from(value: ICompositionAnimationBase) -> Self {
22203         unsafe { ::std::mem::transmute(value) }
22204     }
22205 }
22206 impl ::std::convert::From<&ICompositionAnimationBase> for ::windows::runtime::IUnknown {
from(value: &ICompositionAnimationBase) -> Self22207     fn from(value: &ICompositionAnimationBase) -> Self {
22208         ::std::convert::From::from(::std::clone::Clone::clone(value))
22209     }
22210 }
22211 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICompositionAnimationBase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>22212     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
22213         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
22214     }
22215 }
22216 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICompositionAnimationBase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>22217     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
22218         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
22219     }
22220 }
22221 impl ::std::convert::From<ICompositionAnimationBase> for ::windows::runtime::IInspectable {
from(value: ICompositionAnimationBase) -> Self22222     fn from(value: ICompositionAnimationBase) -> Self {
22223         value.0
22224     }
22225 }
22226 impl ::std::convert::From<&ICompositionAnimationBase> for ::windows::runtime::IInspectable {
from(value: &ICompositionAnimationBase) -> Self22227     fn from(value: &ICompositionAnimationBase) -> Self {
22228         value.0.clone()
22229     }
22230 }
22231 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ICompositionAnimationBase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>22232     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
22233         ::windows::runtime::Param::Owned(self.0)
22234     }
22235 }
22236 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ICompositionAnimationBase {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>22237     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
22238         ::windows::runtime::Param::Borrowed(&self.0)
22239     }
22240 }
22241 #[repr(C)]
22242 #[doc(hidden)]
22243 pub struct ICompositionAnimationBase_abi(
22244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22250 );
22251 #[repr(transparent)]
22252 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22253 #[doc(hidden)]
22254 pub struct ICompositionAnimationFactory(::windows::runtime::IInspectable);
22255 unsafe impl ::windows::runtime::Interface for ICompositionAnimationFactory {
22256     type Vtable = ICompositionAnimationFactory_abi;
22257     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(284607739, 28241, 19493, [187, 211, 88, 106, 155, 236, 62, 244]);
22258 }
22259 #[repr(C)]
22260 #[doc(hidden)]
22261 pub struct ICompositionAnimationFactory_abi(
22262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22268 );
22269 #[repr(transparent)]
22270 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22271 #[doc(hidden)]
22272 pub struct ICompositionAnimationGroup(::windows::runtime::IInspectable);
22273 unsafe impl ::windows::runtime::Interface for ICompositionAnimationGroup {
22274     type Vtable = ICompositionAnimationGroup_abi;
22275     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1585236236, 52500, 19975, [138, 85, 199, 37, 39, 170, 189, 172]);
22276 }
22277 #[repr(C)]
22278 #[doc(hidden)]
22279 pub struct ICompositionAnimationGroup_abi(
22280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
22287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22290 );
22291 #[repr(transparent)]
22292 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22293 #[doc(hidden)]
22294 pub struct ICompositionBackdropBrush(::windows::runtime::IInspectable);
22295 unsafe impl ::windows::runtime::Interface for ICompositionBackdropBrush {
22296     type Vtable = ICompositionBackdropBrush_abi;
22297     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3316428376, 14488, 18846, [141, 127, 34, 78, 145, 40, 106, 93]);
22298 }
22299 #[repr(C)]
22300 #[doc(hidden)]
22301 pub struct ICompositionBackdropBrush_abi(
22302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22308 );
22309 #[repr(transparent)]
22310 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22311 #[doc(hidden)]
22312 pub struct ICompositionBatchCompletedEventArgs(::windows::runtime::IInspectable);
22313 unsafe impl ::windows::runtime::Interface for ICompositionBatchCompletedEventArgs {
22314     type Vtable = ICompositionBatchCompletedEventArgs_abi;
22315     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(218159824, 37988, 17674, [165, 98, 46, 38, 152, 176, 168, 18]);
22316 }
22317 #[repr(C)]
22318 #[doc(hidden)]
22319 pub struct ICompositionBatchCompletedEventArgs_abi(
22320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22326 );
22327 #[repr(transparent)]
22328 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22329 #[doc(hidden)]
22330 pub struct ICompositionBrush(::windows::runtime::IInspectable);
22331 unsafe impl ::windows::runtime::Interface for ICompositionBrush {
22332     type Vtable = ICompositionBrush_abi;
22333     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2869786120, 12480, 16617, [181, 104, 182, 10, 107, 209, 251, 70]);
22334 }
22335 #[repr(C)]
22336 #[doc(hidden)]
22337 pub struct ICompositionBrush_abi(
22338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22344 );
22345 #[repr(transparent)]
22346 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22347 #[doc(hidden)]
22348 pub struct ICompositionBrushFactory(::windows::runtime::IInspectable);
22349 unsafe impl ::windows::runtime::Interface for ICompositionBrushFactory {
22350     type Vtable = ICompositionBrushFactory_abi;
22351     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3662936908, 18000, 18372, [173, 118, 118, 83, 121, 96, 126, 214]);
22352 }
22353 #[repr(C)]
22354 #[doc(hidden)]
22355 pub struct ICompositionBrushFactory_abi(
22356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22362 );
22363 #[repr(transparent)]
22364 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22365 #[doc(hidden)]
22366 pub struct ICompositionCapabilities(::windows::runtime::IInspectable);
22367 unsafe impl ::windows::runtime::Interface for ICompositionCapabilities {
22368     type Vtable = ICompositionCapabilities_abi;
22369     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2186491198, 46359, 18620, [177, 232, 75, 53, 97, 162, 225, 129]);
22370 }
22371 #[repr(C)]
22372 #[doc(hidden)]
22373 pub struct ICompositionCapabilities_abi(
22374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
22381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
22382     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
22383     #[cfg(not(feature = "Foundation"))] usize,
22384     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
22385     #[cfg(not(feature = "Foundation"))] usize,
22386 );
22387 #[repr(transparent)]
22388 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22389 #[doc(hidden)]
22390 pub struct ICompositionCapabilitiesStatics(::windows::runtime::IInspectable);
22391 unsafe impl ::windows::runtime::Interface for ICompositionCapabilitiesStatics {
22392     type Vtable = ICompositionCapabilitiesStatics_abi;
22393     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4156008558, 25622, 18917, [141, 223, 175, 233, 73, 226, 5, 98]);
22394 }
22395 #[repr(C)]
22396 #[doc(hidden)]
22397 pub struct ICompositionCapabilitiesStatics_abi(
22398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22405 );
22406 #[repr(transparent)]
22407 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22408 #[doc(hidden)]
22409 pub struct ICompositionClip(::windows::runtime::IInspectable);
22410 unsafe impl ::windows::runtime::Interface for ICompositionClip {
22411     type Vtable = ICompositionClip_abi;
22412     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(483207762, 53191, 19150, [153, 131, 20, 107, 184, 235, 106, 60]);
22413 }
22414 #[repr(C)]
22415 #[doc(hidden)]
22416 pub struct ICompositionClip_abi(
22417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22423 );
22424 #[repr(transparent)]
22425 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22426 #[doc(hidden)]
22427 pub struct ICompositionClip2(::windows::runtime::IInspectable);
22428 unsafe impl ::windows::runtime::Interface for ICompositionClip2 {
22429     type Vtable = ICompositionClip2_abi;
22430     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1486086249, 13590, 16609, [137, 224, 91, 169, 36, 146, 114, 53]);
22431 }
22432 #[repr(C)]
22433 #[doc(hidden)]
22434 pub struct ICompositionClip2_abi(
22435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22441     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22442     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22443     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22444     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22445     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22446     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22447     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22448     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22449     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22450     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22451     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22452     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22457     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22458     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22459     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22460     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22461     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
22462     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22463     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
22464     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22465 );
22466 #[repr(transparent)]
22467 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22468 #[doc(hidden)]
22469 pub struct ICompositionClipFactory(::windows::runtime::IInspectable);
22470 unsafe impl ::windows::runtime::Interface for ICompositionClipFactory {
22471     type Vtable = ICompositionClipFactory_abi;
22472     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3108523183, 8391, 19181, [172, 74, 156, 120, 186, 19, 2, 207]);
22473 }
22474 #[repr(C)]
22475 #[doc(hidden)]
22476 pub struct ICompositionClipFactory_abi(
22477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22483 );
22484 #[repr(transparent)]
22485 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22486 #[doc(hidden)]
22487 pub struct ICompositionColorBrush(::windows::runtime::IInspectable);
22488 unsafe impl ::windows::runtime::Interface for ICompositionColorBrush {
22489     type Vtable = ICompositionColorBrush_abi;
22490     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(723930206, 48949, 18481, [134, 66, 207, 112, 194, 15, 255, 47]);
22491 }
22492 #[repr(C)]
22493 #[doc(hidden)]
22494 pub struct ICompositionColorBrush_abi(
22495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
22502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
22503 );
22504 #[repr(transparent)]
22505 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22506 #[doc(hidden)]
22507 pub struct ICompositionColorGradientStop(::windows::runtime::IInspectable);
22508 unsafe impl ::windows::runtime::Interface for ICompositionColorGradientStop {
22509     type Vtable = ICompositionColorGradientStop_abi;
22510     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1862322834, 51201, 20033, [154, 143, 165, 62, 32, 245, 119, 120]);
22511 }
22512 #[repr(C)]
22513 #[doc(hidden)]
22514 pub struct ICompositionColorGradientStop_abi(
22515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
22522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
22523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22525 );
22526 #[repr(transparent)]
22527 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22528 #[doc(hidden)]
22529 pub struct ICompositionColorGradientStopCollection(::windows::runtime::IInspectable);
22530 unsafe impl ::windows::runtime::Interface for ICompositionColorGradientStopCollection {
22531     type Vtable = ICompositionColorGradientStopCollection_abi;
22532     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2669486316, 31492, 19229, [144, 188, 159, 163, 44, 12, 253, 38]);
22533 }
22534 #[repr(C)]
22535 #[doc(hidden)]
22536 pub struct ICompositionColorGradientStopCollection_abi(
22537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22543 );
22544 #[repr(transparent)]
22545 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22546 #[doc(hidden)]
22547 pub struct ICompositionCommitBatch(::windows::runtime::IInspectable);
22548 unsafe impl ::windows::runtime::Interface for ICompositionCommitBatch {
22549     type Vtable = ICompositionCommitBatch_abi;
22550     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(218159824, 51719, 17408, [140, 142, 203, 93, 176, 133, 89, 204]);
22551 }
22552 #[repr(C)]
22553 #[doc(hidden)]
22554 pub struct ICompositionCommitBatch_abi(
22555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
22562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
22563     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
22564     #[cfg(not(feature = "Foundation"))] usize,
22565     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
22566     #[cfg(not(feature = "Foundation"))] usize,
22567 );
22568 #[repr(transparent)]
22569 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22570 #[doc(hidden)]
22571 pub struct ICompositionContainerShape(::windows::runtime::IInspectable);
22572 unsafe impl ::windows::runtime::Interface for ICompositionContainerShape {
22573     type Vtable = ICompositionContainerShape_abi;
22574     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1331594651, 11867, 17576, [152, 44, 170, 15, 105, 193, 96, 89]);
22575 }
22576 #[repr(C)]
22577 #[doc(hidden)]
22578 pub struct ICompositionContainerShape_abi(
22579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22585     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22586     #[cfg(not(feature = "Foundation_Collections"))] usize,
22587 );
22588 #[repr(transparent)]
22589 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22590 #[doc(hidden)]
22591 pub struct ICompositionDrawingSurface(::windows::runtime::IInspectable);
22592 unsafe impl ::windows::runtime::Interface for ICompositionDrawingSurface {
22593     type Vtable = ICompositionDrawingSurface_abi;
22594     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2707866368, 64208, 19729, [158, 103, 228, 51, 22, 47, 244, 158]);
22595 }
22596 #[repr(C)]
22597 #[doc(hidden)]
22598 pub struct ICompositionDrawingSurface_abi(
22599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22605     #[cfg(feature = "Graphics_DirectX")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::HRESULT,
22606     #[cfg(not(feature = "Graphics_DirectX"))] usize,
22607     #[cfg(feature = "Graphics_DirectX")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Graphics::DirectX::DirectXPixelFormat) -> ::windows::runtime::HRESULT,
22608     #[cfg(not(feature = "Graphics_DirectX"))] usize,
22609     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Size) -> ::windows::runtime::HRESULT,
22610     #[cfg(not(feature = "Foundation"))] usize,
22611 );
22612 #[repr(transparent)]
22613 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22614 #[doc(hidden)]
22615 pub struct ICompositionDrawingSurface2(::windows::runtime::IInspectable);
22616 unsafe impl ::windows::runtime::Interface for ICompositionDrawingSurface2 {
22617     type Vtable = ICompositionDrawingSurface2_abi;
22618     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4207995019, 58196, 17640, [142, 61, 196, 136, 13, 90, 33, 63]);
22619 }
22620 #[repr(C)]
22621 #[doc(hidden)]
22622 pub struct ICompositionDrawingSurface2_abi(
22623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22629     #[cfg(feature = "Graphics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Graphics::SizeInt32) -> ::windows::runtime::HRESULT,
22630     #[cfg(not(feature = "Graphics"))] usize,
22631     #[cfg(feature = "Graphics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sizepixels: super::super::Graphics::SizeInt32) -> ::windows::runtime::HRESULT,
22632     #[cfg(not(feature = "Graphics"))] usize,
22633     #[cfg(feature = "Graphics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: super::super::Graphics::PointInt32) -> ::windows::runtime::HRESULT,
22634     #[cfg(not(feature = "Graphics"))] usize,
22635     #[cfg(feature = "Graphics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: super::super::Graphics::PointInt32, scrollrect: super::super::Graphics::RectInt32) -> ::windows::runtime::HRESULT,
22636     #[cfg(not(feature = "Graphics"))] usize,
22637     #[cfg(feature = "Graphics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: super::super::Graphics::PointInt32, cliprect: super::super::Graphics::RectInt32) -> ::windows::runtime::HRESULT,
22638     #[cfg(not(feature = "Graphics"))] usize,
22639     #[cfg(feature = "Graphics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: super::super::Graphics::PointInt32, cliprect: super::super::Graphics::RectInt32, scrollrect: super::super::Graphics::RectInt32) -> ::windows::runtime::HRESULT,
22640     #[cfg(not(feature = "Graphics"))] usize,
22641 );
22642 #[repr(transparent)]
22643 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22644 #[doc(hidden)]
22645 pub struct ICompositionDrawingSurfaceFactory(::windows::runtime::IInspectable);
22646 unsafe impl ::windows::runtime::Interface for ICompositionDrawingSurfaceFactory {
22647     type Vtable = ICompositionDrawingSurfaceFactory_abi;
22648     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2492968970, 12589, 18105, [157, 179, 65, 47, 215, 148, 100, 200]);
22649 }
22650 #[repr(C)]
22651 #[doc(hidden)]
22652 pub struct ICompositionDrawingSurfaceFactory_abi(
22653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22659 );
22660 #[repr(transparent)]
22661 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22662 #[doc(hidden)]
22663 pub struct ICompositionEasingFunction(::windows::runtime::IInspectable);
22664 unsafe impl ::windows::runtime::Interface for ICompositionEasingFunction {
22665     type Vtable = ICompositionEasingFunction_abi;
22666     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1363534678, 49017, 20136, [140, 194, 107, 91, 71, 46, 108, 154]);
22667 }
22668 #[repr(C)]
22669 #[doc(hidden)]
22670 pub struct ICompositionEasingFunction_abi(
22671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22677 );
22678 #[repr(transparent)]
22679 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22680 #[doc(hidden)]
22681 pub struct ICompositionEasingFunctionFactory(::windows::runtime::IInspectable);
22682 unsafe impl ::windows::runtime::Interface for ICompositionEasingFunctionFactory {
22683     type Vtable = ICompositionEasingFunctionFactory_abi;
22684     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1619265396, 15776, 18761, [130, 0, 114, 6, 192, 1, 144, 160]);
22685 }
22686 #[repr(C)]
22687 #[doc(hidden)]
22688 pub struct ICompositionEasingFunctionFactory_abi(
22689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22695 );
22696 #[repr(transparent)]
22697 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22698 #[doc(hidden)]
22699 pub struct ICompositionEasingFunctionStatics(::windows::runtime::IInspectable);
22700 unsafe impl ::windows::runtime::Interface for ICompositionEasingFunctionStatics {
22701     type Vtable = ICompositionEasingFunctionStatics_abi;
22702     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(396846774, 10550, 21482, [181, 175, 198, 66, 244, 166, 16, 131]);
22703 }
22704 #[repr(C)]
22705 #[doc(hidden)]
22706 pub struct ICompositionEasingFunctionStatics_abi(
22707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22713     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, controlpoint1: super::super::Foundation::Numerics::Vector2, controlpoint2: super::super::Foundation::Numerics::Vector2, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22714     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, stepcount: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, mode: CompositionEasingFunctionMode, amplitude: f32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, mode: CompositionEasingFunctionMode, bounces: i32, bounciness: f32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, mode: CompositionEasingFunctionMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, mode: CompositionEasingFunctionMode, oscillations: i32, springiness: f32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, mode: CompositionEasingFunctionMode, exponent: f32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, mode: CompositionEasingFunctionMode, power: f32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, owner: ::windows::runtime::RawPtr, mode: CompositionEasingFunctionMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22725 );
22726 #[repr(transparent)]
22727 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22728 #[doc(hidden)]
22729 pub struct ICompositionEffectBrush(::windows::runtime::IInspectable);
22730 unsafe impl ::windows::runtime::Interface for ICompositionEffectBrush {
22731     type Vtable = ICompositionEffectBrush_abi;
22732     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3212802398, 33740, 17599, [164, 71, 62, 60, 7, 23, 137, 236]);
22733 }
22734 #[repr(C)]
22735 #[doc(hidden)]
22736 pub struct ICompositionEffectBrush_abi(
22737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, source: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22745 );
22746 #[repr(transparent)]
22747 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22748 #[doc(hidden)]
22749 pub struct ICompositionEffectFactory(::windows::runtime::IInspectable);
22750 unsafe impl ::windows::runtime::Interface for ICompositionEffectFactory {
22751     type Vtable = ICompositionEffectFactory_abi;
22752     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3193316527, 47742, 17680, [152, 80, 65, 192, 180, 255, 116, 223]);
22753 }
22754 #[repr(C)]
22755 #[doc(hidden)]
22756 pub struct ICompositionEffectFactory_abi(
22757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
22765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionEffectFactoryLoadStatus) -> ::windows::runtime::HRESULT,
22766 );
22767 #[repr(transparent)]
22768 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22769 #[doc(hidden)]
22770 pub struct ICompositionEffectSourceParameter(::windows::runtime::IInspectable);
22771 unsafe impl ::windows::runtime::Interface for ICompositionEffectSourceParameter {
22772     type Vtable = ICompositionEffectSourceParameter_abi;
22773     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2240459066, 12946, 20046, [179, 187, 43, 108, 101, 68, 166, 238]);
22774 }
22775 #[repr(C)]
22776 #[doc(hidden)]
22777 pub struct ICompositionEffectSourceParameter_abi(
22778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
22785 );
22786 #[repr(transparent)]
22787 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22788 #[doc(hidden)]
22789 pub struct ICompositionEffectSourceParameterFactory(::windows::runtime::IInspectable);
22790 unsafe impl ::windows::runtime::Interface for ICompositionEffectSourceParameterFactory {
22791     type Vtable = ICompositionEffectSourceParameterFactory_abi;
22792     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3017405046, 43939, 18212, [172, 243, 208, 57, 116, 100, 219, 28]);
22793 }
22794 #[repr(C)]
22795 #[doc(hidden)]
22796 pub struct ICompositionEffectSourceParameterFactory_abi(
22797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22804 );
22805 #[repr(transparent)]
22806 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22807 #[doc(hidden)]
22808 pub struct ICompositionEllipseGeometry(::windows::runtime::IInspectable);
22809 unsafe impl ::windows::runtime::Interface for ICompositionEllipseGeometry {
22810     type Vtable = ICompositionEllipseGeometry_abi;
22811     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1208088708, 63149, 19347, [175, 169, 137, 123, 100, 229, 123, 31]);
22812 }
22813 #[repr(C)]
22814 #[doc(hidden)]
22815 pub struct ICompositionEllipseGeometry_abi(
22816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22822     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22823     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22824     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22825     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22826     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22827     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22828     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22829     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22830 );
22831 #[repr(transparent)]
22832 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22833 #[doc(hidden)]
22834 pub struct ICompositionGeometricClip(::windows::runtime::IInspectable);
22835 unsafe impl ::windows::runtime::Interface for ICompositionGeometricClip {
22836     type Vtable = ICompositionGeometricClip_abi;
22837     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3359683969, 33225, 17476, [162, 193, 204, 174, 206, 58, 80, 229]);
22838 }
22839 #[repr(C)]
22840 #[doc(hidden)]
22841 pub struct ICompositionGeometricClip_abi(
22842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22852 );
22853 #[repr(transparent)]
22854 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22855 #[doc(hidden)]
22856 pub struct ICompositionGeometry(::windows::runtime::IInspectable);
22857 unsafe impl ::windows::runtime::Interface for ICompositionGeometry {
22858     type Vtable = ICompositionGeometry_abi;
22859     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3917816188, 27159, 16903, [171, 216, 95, 211, 221, 97, 42, 157]);
22860 }
22861 #[repr(C)]
22862 #[doc(hidden)]
22863 pub struct ICompositionGeometry_abi(
22864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22876 );
22877 #[repr(transparent)]
22878 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22879 #[doc(hidden)]
22880 pub struct ICompositionGeometryFactory(::windows::runtime::IInspectable);
22881 unsafe impl ::windows::runtime::Interface for ICompositionGeometryFactory {
22882     type Vtable = ICompositionGeometryFactory_abi;
22883     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3221143521, 35877, 18443, [159, 86, 254, 214, 178, 136, 5, 93]);
22884 }
22885 #[repr(C)]
22886 #[doc(hidden)]
22887 pub struct ICompositionGeometryFactory_abi(
22888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22894 );
22895 #[repr(transparent)]
22896 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22897 #[doc(hidden)]
22898 pub struct ICompositionGradientBrush(::windows::runtime::IInspectable);
22899 unsafe impl ::windows::runtime::Interface for ICompositionGradientBrush {
22900     type Vtable = ICompositionGradientBrush_abi;
22901     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(496437728, 65478, 19470, [169, 171, 52, 20, 77, 76, 144, 152]);
22902 }
22903 #[repr(C)]
22904 #[doc(hidden)]
22905 pub struct ICompositionGradientBrush_abi(
22906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22912     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22913     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22914     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22915     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22916     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22917     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22918     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22919     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionGradientExtendMode) -> ::windows::runtime::HRESULT,
22922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionGradientExtendMode) -> ::windows::runtime::HRESULT,
22923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionColorSpace) -> ::windows::runtime::HRESULT,
22924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionColorSpace) -> ::windows::runtime::HRESULT,
22925     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22926     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22927     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22928     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
22932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
22933     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22934     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22935     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
22936     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22937     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
22938     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22939     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
22940     #[cfg(not(feature = "Foundation_Numerics"))] usize,
22941 );
22942 #[repr(transparent)]
22943 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22944 #[doc(hidden)]
22945 pub struct ICompositionGradientBrush2(::windows::runtime::IInspectable);
22946 unsafe impl ::windows::runtime::Interface for ICompositionGradientBrush2 {
22947     type Vtable = ICompositionGradientBrush2_abi;
22948     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2308822433, 46279, 19251, [161, 182, 38, 74, 221, 194, 109, 16]);
22949 }
22950 #[repr(C)]
22951 #[doc(hidden)]
22952 pub struct ICompositionGradientBrush2_abi(
22953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionMappingMode) -> ::windows::runtime::HRESULT,
22960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionMappingMode) -> ::windows::runtime::HRESULT,
22961 );
22962 #[repr(transparent)]
22963 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22964 #[doc(hidden)]
22965 pub struct ICompositionGradientBrushFactory(::windows::runtime::IInspectable);
22966 unsafe impl ::windows::runtime::Interface for ICompositionGradientBrushFactory {
22967     type Vtable = ICompositionGradientBrushFactory_abi;
22968     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1456956887, 61833, 18633, [156, 141, 148, 218, 241, 190, 192, 16]);
22969 }
22970 #[repr(C)]
22971 #[doc(hidden)]
22972 pub struct ICompositionGradientBrushFactory_abi(
22973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22979 );
22980 #[repr(transparent)]
22981 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
22982 #[doc(hidden)]
22983 pub struct ICompositionGraphicsDevice(::windows::runtime::IInspectable);
22984 unsafe impl ::windows::runtime::Interface for ICompositionGraphicsDevice {
22985     type Vtable = ICompositionGraphicsDevice_abi;
22986     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4213360353, 32930, 18023, [153, 54, 219, 234, 246, 238, 254, 149]);
22987 }
22988 #[repr(C)]
22989 #[doc(hidden)]
22990 pub struct ICompositionGraphicsDevice_abi(
22991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
22994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
22995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
22997     #[cfg(all(feature = "Foundation", feature = "Graphics_DirectX"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sizepixels: super::super::Foundation::Size, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22998     #[cfg(not(all(feature = "Foundation", feature = "Graphics_DirectX")))] usize,
22999     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
23000     #[cfg(not(feature = "Foundation"))] usize,
23001     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
23002     #[cfg(not(feature = "Foundation"))] usize,
23003 );
23004 #[repr(transparent)]
23005 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23006 #[doc(hidden)]
23007 pub struct ICompositionGraphicsDevice2(::windows::runtime::IInspectable);
23008 unsafe impl ::windows::runtime::Interface for ICompositionGraphicsDevice2 {
23009     type Vtable = ICompositionGraphicsDevice2_abi;
23010     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(263765494, 49392, 19404, [159, 184, 8, 73, 130, 73, 13, 125]);
23011 }
23012 #[repr(C)]
23013 #[doc(hidden)]
23014 pub struct ICompositionGraphicsDevice2_abi(
23015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23021     #[cfg(all(feature = "Graphics", feature = "Graphics_DirectX"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sizepixels: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23022     #[cfg(not(all(feature = "Graphics", feature = "Graphics_DirectX")))] usize,
23023     #[cfg(all(feature = "Graphics", feature = "Graphics_DirectX"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sizepixels: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23024     #[cfg(not(all(feature = "Graphics", feature = "Graphics_DirectX")))] usize,
23025 );
23026 #[repr(transparent)]
23027 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23028 #[doc(hidden)]
23029 pub struct ICompositionGraphicsDevice3(::windows::runtime::IInspectable);
23030 unsafe impl ::windows::runtime::Interface for ICompositionGraphicsDevice3 {
23031     type Vtable = ICompositionGraphicsDevice3_abi;
23032     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(938898708, 54255, 18897, [182, 157, 13, 142, 171, 235, 54, 38]);
23033 }
23034 #[repr(C)]
23035 #[doc(hidden)]
23036 pub struct ICompositionGraphicsDevice3_abi(
23037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23043     #[cfg(all(feature = "Graphics", feature = "Graphics_DirectX"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, sizepixels: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23044     #[cfg(not(all(feature = "Graphics", feature = "Graphics_DirectX")))] usize,
23045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23046 );
23047 #[repr(transparent)]
23048 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23049 #[doc(hidden)]
23050 pub struct ICompositionGraphicsDevice4(::windows::runtime::IInspectable);
23051 unsafe impl ::windows::runtime::Interface for ICompositionGraphicsDevice4 {
23052     type Vtable = ICompositionGraphicsDevice4_abi;
23053     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1517535225, 43391, 19701, [186, 70, 152, 239, 53, 142, 113, 177]);
23054 }
23055 #[repr(C)]
23056 #[doc(hidden)]
23057 pub struct ICompositionGraphicsDevice4_abi(
23058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23064     #[cfg(all(feature = "Foundation", feature = "Graphics", feature = "Graphics_DirectX"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, capturevisual: ::windows::runtime::RawPtr, size: super::super::Graphics::SizeInt32, pixelformat: super::super::Graphics::DirectX::DirectXPixelFormat, alphamode: super::super::Graphics::DirectX::DirectXAlphaMode, sdrboost: f32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23065     #[cfg(not(all(feature = "Foundation", feature = "Graphics", feature = "Graphics_DirectX")))] usize,
23066 );
23067 #[repr(transparent)]
23068 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23069 #[doc(hidden)]
23070 pub struct ICompositionLight(::windows::runtime::IInspectable);
23071 unsafe impl ::windows::runtime::Interface for ICompositionLight {
23072     type Vtable = ICompositionLight_abi;
23073     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1101453250, 11869, 19393, [176, 158, 143, 10, 3, 227, 216, 211]);
23074 }
23075 #[repr(C)]
23076 #[doc(hidden)]
23077 pub struct ICompositionLight_abi(
23078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23085 );
23086 #[repr(transparent)]
23087 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23088 #[doc(hidden)]
23089 pub struct ICompositionLight2(::windows::runtime::IInspectable);
23090 unsafe impl ::windows::runtime::Interface for ICompositionLight2 {
23091     type Vtable = ICompositionLight2_abi;
23092     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2814171762, 62301, 16989, [155, 152, 35, 244, 32, 95, 102, 105]);
23093 }
23094 #[repr(C)]
23095 #[doc(hidden)]
23096 pub struct ICompositionLight2_abi(
23097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23104 );
23105 #[repr(transparent)]
23106 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23107 #[doc(hidden)]
23108 pub struct ICompositionLight3(::windows::runtime::IInspectable);
23109 unsafe impl ::windows::runtime::Interface for ICompositionLight3 {
23110     type Vtable = ICompositionLight3_abi;
23111     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1259012324, 57095, 18777, [183, 164, 79, 126, 66, 51, 248, 56]);
23112 }
23113 #[repr(C)]
23114 #[doc(hidden)]
23115 pub struct ICompositionLight3_abi(
23116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
23123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
23124 );
23125 #[repr(transparent)]
23126 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23127 #[doc(hidden)]
23128 pub struct ICompositionLightFactory(::windows::runtime::IInspectable);
23129 unsafe impl ::windows::runtime::Interface for ICompositionLightFactory {
23130     type Vtable = ICompositionLightFactory_abi;
23131     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(110949126, 55868, 19268, [131, 138, 94, 3, 213, 26, 206, 85]);
23132 }
23133 #[repr(C)]
23134 #[doc(hidden)]
23135 pub struct ICompositionLightFactory_abi(
23136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23142 );
23143 #[repr(transparent)]
23144 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23145 #[doc(hidden)]
23146 pub struct ICompositionLineGeometry(::windows::runtime::IInspectable);
23147 unsafe impl ::windows::runtime::Interface for ICompositionLineGeometry {
23148     type Vtable = ICompositionLineGeometry_abi;
23149     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3715503524, 3226, 19303, [141, 206, 68, 10, 91, 249, 205, 236]);
23150 }
23151 #[repr(C)]
23152 #[doc(hidden)]
23153 pub struct ICompositionLineGeometry_abi(
23154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23160     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23161     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23162     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23163     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23164     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23165     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23166     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23167     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23168 );
23169 #[repr(transparent)]
23170 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23171 #[doc(hidden)]
23172 pub struct ICompositionLinearGradientBrush(::windows::runtime::IInspectable);
23173 unsafe impl ::windows::runtime::Interface for ICompositionLinearGradientBrush {
23174     type Vtable = ICompositionLinearGradientBrush_abi;
23175     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2554053913, 43483, 16700, [162, 216, 42, 144, 86, 252, 82, 94]);
23176 }
23177 #[repr(C)]
23178 #[doc(hidden)]
23179 pub struct ICompositionLinearGradientBrush_abi(
23180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23186     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23187     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23188     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23189     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23190     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23191     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23192     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23193     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23194 );
23195 #[repr(transparent)]
23196 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23197 #[doc(hidden)]
23198 pub struct ICompositionMaskBrush(::windows::runtime::IInspectable);
23199 unsafe impl ::windows::runtime::Interface for ICompositionMaskBrush {
23200     type Vtable = ICompositionMaskBrush_abi;
23201     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1378676894, 48747, 20289, [190, 73, 249, 34, 109, 71, 27, 74]);
23202 }
23203 #[repr(C)]
23204 #[doc(hidden)]
23205 pub struct ICompositionMaskBrush_abi(
23206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23216 );
23217 #[repr(transparent)]
23218 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23219 #[doc(hidden)]
23220 pub struct ICompositionMipmapSurface(::windows::runtime::IInspectable);
23221 unsafe impl ::windows::runtime::Interface for ICompositionMipmapSurface {
23222     type Vtable = ICompositionMipmapSurface_abi;
23223     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1214474076, 53066, 19228, [158, 206, 197, 236, 12, 43, 47, 230]);
23224 }
23225 #[repr(C)]
23226 #[doc(hidden)]
23227 pub struct ICompositionMipmapSurface_abi(
23228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
23235     #[cfg(feature = "Graphics_DirectX")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Graphics::DirectX::DirectXAlphaMode) -> ::windows::runtime::HRESULT,
23236     #[cfg(not(feature = "Graphics_DirectX"))] usize,
23237     #[cfg(feature = "Graphics_DirectX")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Graphics::DirectX::DirectXPixelFormat) -> ::windows::runtime::HRESULT,
23238     #[cfg(not(feature = "Graphics_DirectX"))] usize,
23239     #[cfg(feature = "Graphics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Graphics::SizeInt32) -> ::windows::runtime::HRESULT,
23240     #[cfg(not(feature = "Graphics"))] usize,
23241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, level: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23242 );
23243 #[repr(transparent)]
23244 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23245 #[doc(hidden)]
23246 pub struct ICompositionNineGridBrush(::windows::runtime::IInspectable);
23247 unsafe impl ::windows::runtime::Interface for ICompositionNineGridBrush {
23248     type Vtable = ICompositionNineGridBrush_abi;
23249     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4065416420, 48268, 19431, [184, 15, 134, 133, 184, 60, 1, 134]);
23250 }
23251 #[repr(C)]
23252 #[doc(hidden)]
23253 pub struct ICompositionNineGridBrush_abi(
23254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
23265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
23266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, inset: f32) -> ::windows::runtime::HRESULT,
23281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::runtime::HRESULT,
23282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scale: f32) -> ::windows::runtime::HRESULT,
23283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, left: f32, top: f32, right: f32, bottom: f32) -> ::windows::runtime::HRESULT,
23284 );
23285 #[repr(transparent)]
23286 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23287 #[doc(hidden)]
23288 pub struct ICompositionObject(::windows::runtime::IInspectable);
23289 unsafe impl ::windows::runtime::Interface for ICompositionObject {
23290     type Vtable = ICompositionObject_abi;
23291     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3165957445, 30217, 17744, [147, 79, 22, 0, 42, 104, 253, 237]);
23292 }
23293 #[repr(C)]
23294 #[doc(hidden)]
23295 pub struct ICompositionObject_abi(
23296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23303     #[cfg(feature = "UI_Core")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23304     #[cfg(not(feature = "UI_Core"))] usize,
23305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, animation: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
23308 );
23309 #[repr(transparent)]
23310 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23311 #[doc(hidden)]
23312 pub struct ICompositionObject2(::windows::runtime::IInspectable);
23313 unsafe impl ::windows::runtime::Interface for ICompositionObject2 {
23314     type Vtable = ICompositionObject2_abi;
23315     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4018622113, 23807, 19304, [158, 48, 161, 81, 157, 8, 186, 3]);
23316 }
23317 #[repr(C)]
23318 #[doc(hidden)]
23319 pub struct ICompositionObject2_abi(
23320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
23327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
23328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23332 );
23333 #[repr(transparent)]
23334 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23335 #[doc(hidden)]
23336 pub struct ICompositionObject3(::windows::runtime::IInspectable);
23337 unsafe impl ::windows::runtime::Interface for ICompositionObject3 {
23338     type Vtable = ICompositionObject3_abi;
23339     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1271036197, 56013, 19698, [152, 177, 152, 107, 118, 231, 235, 230]);
23340 }
23341 #[repr(C)]
23342 #[doc(hidden)]
23343 pub struct ICompositionObject3_abi(
23344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23350     #[cfg(feature = "System")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23351     #[cfg(not(feature = "System"))] usize,
23352 );
23353 #[repr(transparent)]
23354 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23355 #[doc(hidden)]
23356 pub struct ICompositionObject4(::windows::runtime::IInspectable);
23357 unsafe impl ::windows::runtime::Interface for ICompositionObject4 {
23358     type Vtable = ICompositionObject4_abi;
23359     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(196311116, 13419, 19068, [150, 107, 115, 16, 150, 101, 83, 213]);
23360 }
23361 #[repr(C)]
23362 #[doc(hidden)]
23363 pub struct ICompositionObject4_abi(
23364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23371 );
23372 #[repr(transparent)]
23373 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23374 #[doc(hidden)]
23375 pub struct ICompositionObjectFactory(::windows::runtime::IInspectable);
23376 unsafe impl ::windows::runtime::Interface for ICompositionObjectFactory {
23377     type Vtable = ICompositionObjectFactory_abi;
23378     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1361075294, 21898, 20266, [141, 57, 55, 191, 225, 226, 13, 221]);
23379 }
23380 #[repr(C)]
23381 #[doc(hidden)]
23382 pub struct ICompositionObjectFactory_abi(
23383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23389 );
23390 #[repr(transparent)]
23391 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23392 #[doc(hidden)]
23393 pub struct ICompositionObjectStatics(::windows::runtime::IInspectable);
23394 unsafe impl ::windows::runtime::Interface for ICompositionObjectStatics {
23395     type Vtable = ICompositionObjectStatics_abi;
23396     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3253536047, 7074, 17594, [169, 4, 106, 136, 42, 10, 90, 219]);
23397 }
23398 #[repr(C)]
23399 #[doc(hidden)]
23400 pub struct ICompositionObjectStatics_abi(
23401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, target: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, animation: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, target: ::windows::runtime::RawPtr, animation: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23409 );
23410 #[repr(transparent)]
23411 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23412 #[doc(hidden)]
23413 pub struct ICompositionPath(::windows::runtime::IInspectable);
23414 unsafe impl ::windows::runtime::Interface for ICompositionPath {
23415     type Vtable = ICompositionPath_abi;
23416     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1725570399, 11792, 20258, [138, 6, 10, 129, 81, 145, 158, 96]);
23417 }
23418 #[repr(C)]
23419 #[doc(hidden)]
23420 pub struct ICompositionPath_abi(
23421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23427 );
23428 #[repr(transparent)]
23429 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23430 #[doc(hidden)]
23431 pub struct ICompositionPathFactory(::windows::runtime::IInspectable);
23432 unsafe impl ::windows::runtime::Interface for ICompositionPathFactory {
23433     type Vtable = ICompositionPathFactory_abi;
23434     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2619247722, 3891, 18257, [148, 55, 235, 63, 185, 211, 171, 7]);
23435 }
23436 #[repr(C)]
23437 #[doc(hidden)]
23438 pub struct ICompositionPathFactory_abi(
23439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23445     #[cfg(feature = "Graphics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23446     #[cfg(not(feature = "Graphics"))] usize,
23447 );
23448 #[repr(transparent)]
23449 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23450 #[doc(hidden)]
23451 pub struct ICompositionPathGeometry(::windows::runtime::IInspectable);
23452 unsafe impl ::windows::runtime::Interface for ICompositionPathGeometry {
23453     type Vtable = ICompositionPathGeometry_abi;
23454     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(191512958, 11383, 19491, [175, 94, 99, 4, 193, 71, 187, 97]);
23455 }
23456 #[repr(C)]
23457 #[doc(hidden)]
23458 pub struct ICompositionPathGeometry_abi(
23459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23467 );
23468 #[repr(transparent)]
23469 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23470 #[doc(hidden)]
23471 pub struct ICompositionProjectedShadow(::windows::runtime::IInspectable);
23472 unsafe impl ::windows::runtime::Interface for ICompositionProjectedShadow {
23473     type Vtable = ICompositionProjectedShadow_abi;
23474     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(677088882, 17192, 21055, [188, 242, 85, 87, 197, 44, 59, 37]);
23475 }
23476 #[repr(C)]
23477 #[doc(hidden)]
23478 pub struct ICompositionProjectedShadow_abi(
23479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23495 );
23496 #[repr(transparent)]
23497 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23498 #[doc(hidden)]
23499 pub struct ICompositionProjectedShadowCaster(::windows::runtime::IInspectable);
23500 unsafe impl ::windows::runtime::Interface for ICompositionProjectedShadowCaster {
23501     type Vtable = ICompositionProjectedShadowCaster_abi;
23502     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2983711782, 7734, 23138, [190, 86, 161, 97, 18, 253, 209, 72]);
23503 }
23504 #[repr(C)]
23505 #[doc(hidden)]
23506 pub struct ICompositionProjectedShadowCaster_abi(
23507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23517 );
23518 #[repr(transparent)]
23519 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23520 #[doc(hidden)]
23521 pub struct ICompositionProjectedShadowCasterCollection(::windows::runtime::IInspectable);
23522 unsafe impl ::windows::runtime::Interface for ICompositionProjectedShadowCasterCollection {
23523     type Vtable = ICompositionProjectedShadowCasterCollection_abi;
23524     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3528612876, 57471, 22691, [172, 145, 55, 247, 62, 233, 23, 64]);
23525 }
23526 #[repr(C)]
23527 #[doc(hidden)]
23528 pub struct ICompositionProjectedShadowCasterCollection_abi(
23529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
23536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcaster: ::windows::runtime::RawPtr, reference: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcaster: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcaster: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newcaster: ::windows::runtime::RawPtr, reference: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, caster: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23542 );
23543 #[repr(transparent)]
23544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23545 #[doc(hidden)]
23546 pub struct ICompositionProjectedShadowCasterCollectionStatics(::windows::runtime::IInspectable);
23547 unsafe impl ::windows::runtime::Interface for ICompositionProjectedShadowCasterCollectionStatics {
23548     type Vtable = ICompositionProjectedShadowCasterCollectionStatics_abi;
23549     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1459335478, 59727, 21145, [171, 91, 110, 21, 227, 139, 216, 153]);
23550 }
23551 #[repr(C)]
23552 #[doc(hidden)]
23553 pub struct ICompositionProjectedShadowCasterCollectionStatics_abi(
23554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
23561 );
23562 #[repr(transparent)]
23563 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23564 #[doc(hidden)]
23565 pub struct ICompositionProjectedShadowReceiver(::windows::runtime::IInspectable);
23566 unsafe impl ::windows::runtime::Interface for ICompositionProjectedShadowReceiver {
23567     type Vtable = ICompositionProjectedShadowReceiver_abi;
23568     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(326604890, 27209, 21354, [155, 228, 169, 106, 142, 82, 152, 169]);
23569 }
23570 #[repr(C)]
23571 #[doc(hidden)]
23572 pub struct ICompositionProjectedShadowReceiver_abi(
23573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23581 );
23582 #[repr(transparent)]
23583 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23584 #[doc(hidden)]
23585 pub struct ICompositionProjectedShadowReceiverUnorderedCollection(::windows::runtime::IInspectable);
23586 unsafe impl ::windows::runtime::Interface for ICompositionProjectedShadowReceiverUnorderedCollection {
23587     type Vtable = ICompositionProjectedShadowReceiverUnorderedCollection_abi;
23588     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(45343671, 10194, 22943, [172, 75, 171, 120, 124, 221, 230, 253]);
23589 }
23590 #[repr(C)]
23591 #[doc(hidden)]
23592 pub struct ICompositionProjectedShadowReceiverUnorderedCollection_abi(
23593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
23601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23603 );
23604 #[repr(transparent)]
23605 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23606 #[doc(hidden)]
23607 pub struct ICompositionPropertySet(::windows::runtime::IInspectable);
23608 unsafe impl ::windows::runtime::Interface for ICompositionPropertySet {
23609     type Vtable = ICompositionPropertySet_abi;
23610     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3386298882, 24423, 17491, [145, 23, 158, 173, 212, 48, 211, 194]);
23611 }
23612 #[repr(C)]
23613 #[doc(hidden)]
23614 pub struct ICompositionPropertySet_abi(
23615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::Color) -> ::windows::runtime::HRESULT,
23622     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
23623     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23624     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::runtime::HRESULT,
23625     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23626     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::HRESULT,
23627     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: f32) -> ::windows::runtime::HRESULT,
23629     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23630     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23631     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
23632     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23633     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: super::super::Foundation::Numerics::Vector4) -> ::windows::runtime::HRESULT,
23634     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: *mut super::Color, result__: *mut CompositionGetValueStatus) -> ::windows::runtime::HRESULT,
23636     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: *mut super::super::Foundation::Numerics::Matrix3x2, result__: *mut CompositionGetValueStatus) -> ::windows::runtime::HRESULT,
23637     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23638     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: *mut super::super::Foundation::Numerics::Matrix4x4, result__: *mut CompositionGetValueStatus) -> ::windows::runtime::HRESULT,
23639     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23640     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: *mut super::super::Foundation::Numerics::Quaternion, result__: *mut CompositionGetValueStatus) -> ::windows::runtime::HRESULT,
23641     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: *mut f32, result__: *mut CompositionGetValueStatus) -> ::windows::runtime::HRESULT,
23643     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: *mut super::super::Foundation::Numerics::Vector2, result__: *mut CompositionGetValueStatus) -> ::windows::runtime::HRESULT,
23644     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23645     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: *mut super::super::Foundation::Numerics::Vector3, result__: *mut CompositionGetValueStatus) -> ::windows::runtime::HRESULT,
23646     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23647     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: *mut super::super::Foundation::Numerics::Vector4, result__: *mut CompositionGetValueStatus) -> ::windows::runtime::HRESULT,
23648     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23649 );
23650 #[repr(transparent)]
23651 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23652 #[doc(hidden)]
23653 pub struct ICompositionPropertySet2(::windows::runtime::IInspectable);
23654 unsafe impl ::windows::runtime::Interface for ICompositionPropertySet2 {
23655     type Vtable = ICompositionPropertySet2_abi;
23656     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3732960030, 41489, 17493, [136, 128, 125, 15, 63, 106, 68, 253]);
23657 }
23658 #[repr(C)]
23659 #[doc(hidden)]
23660 pub struct ICompositionPropertySet2_abi(
23661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: bool) -> ::windows::runtime::HRESULT,
23668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: *mut bool, result__: *mut CompositionGetValueStatus) -> ::windows::runtime::HRESULT,
23669 );
23670 #[repr(transparent)]
23671 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23672 #[doc(hidden)]
23673 pub struct ICompositionRadialGradientBrush(::windows::runtime::IInspectable);
23674 unsafe impl ::windows::runtime::Interface for ICompositionRadialGradientBrush {
23675     type Vtable = ICompositionRadialGradientBrush_abi;
23676     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1027297477, 58362, 19682, [185, 252, 62, 225, 37, 97, 120, 143]);
23677 }
23678 #[repr(C)]
23679 #[doc(hidden)]
23680 pub struct ICompositionRadialGradientBrush_abi(
23681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23687     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23688     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23689     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23690     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23691     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23692     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23693     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23694     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23695     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23696     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23697     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23698     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23699 );
23700 #[repr(transparent)]
23701 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23702 #[doc(hidden)]
23703 pub struct ICompositionRectangleGeometry(::windows::runtime::IInspectable);
23704 unsafe impl ::windows::runtime::Interface for ICompositionRectangleGeometry {
23705     type Vtable = ICompositionRectangleGeometry_abi;
23706     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(215290920, 21334, 16966, [174, 207, 122, 11, 118, 151, 84, 0]);
23707 }
23708 #[repr(C)]
23709 #[doc(hidden)]
23710 pub struct ICompositionRectangleGeometry_abi(
23711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23717     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23718     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23719     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23720     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23721     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23722     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23723     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23724     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23725 );
23726 #[repr(transparent)]
23727 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23728 #[doc(hidden)]
23729 pub struct ICompositionRoundedRectangleGeometry(::windows::runtime::IInspectable);
23730 unsafe impl ::windows::runtime::Interface for ICompositionRoundedRectangleGeometry {
23731     type Vtable = ICompositionRoundedRectangleGeometry_abi;
23732     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2272315426, 7504, 19339, [176, 19, 124, 154, 14, 70, 147, 95]);
23733 }
23734 #[repr(C)]
23735 #[doc(hidden)]
23736 pub struct ICompositionRoundedRectangleGeometry_abi(
23737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23743     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23744     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23745     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23746     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23747     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23748     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23749     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23750     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23751     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23752     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23753     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23754     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23755 );
23756 #[repr(transparent)]
23757 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23758 #[doc(hidden)]
23759 pub struct ICompositionScopedBatch(::windows::runtime::IInspectable);
23760 unsafe impl ::windows::runtime::Interface for ICompositionScopedBatch {
23761     type Vtable = ICompositionScopedBatch_abi;
23762     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(218159824, 64263, 18173, [140, 114, 98, 128, 209, 163, 209, 221]);
23763 }
23764 #[repr(C)]
23765 #[doc(hidden)]
23766 pub struct ICompositionScopedBatch_abi(
23767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
23774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
23775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23778     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
23779     #[cfg(not(feature = "Foundation"))] usize,
23780     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
23781     #[cfg(not(feature = "Foundation"))] usize,
23782 );
23783 #[repr(transparent)]
23784 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23785 #[doc(hidden)]
23786 pub struct ICompositionShadow(::windows::runtime::IInspectable);
23787 unsafe impl ::windows::runtime::Interface for ICompositionShadow {
23788     type Vtable = ICompositionShadow_abi;
23789     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(849236706, 17205, 18892, [177, 74, 55, 120, 45, 16, 240, 196]);
23790 }
23791 #[repr(C)]
23792 #[doc(hidden)]
23793 pub struct ICompositionShadow_abi(
23794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23798     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23799     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23800 );
23801 #[repr(transparent)]
23802 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23803 #[doc(hidden)]
23804 pub struct ICompositionShadowFactory(::windows::runtime::IInspectable);
23805 unsafe impl ::windows::runtime::Interface for ICompositionShadowFactory {
23806     type Vtable = ICompositionShadowFactory_abi;
23807     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(572475695, 56506, 19345, [153, 158, 29, 194, 23, 160, 21, 48]);
23808 }
23809 #[repr(C)]
23810 #[doc(hidden)]
23811 pub struct ICompositionShadowFactory_abi(
23812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23818 );
23819 #[repr(transparent)]
23820 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23821 #[doc(hidden)]
23822 pub struct ICompositionShape(::windows::runtime::IInspectable);
23823 unsafe impl ::windows::runtime::Interface for ICompositionShape {
23824     type Vtable = ICompositionShape_abi;
23825     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3028083447, 39560, 17092, [158, 135, 46, 80, 12, 168, 104, 140]);
23826 }
23827 #[repr(C)]
23828 #[doc(hidden)]
23829 pub struct ICompositionShape_abi(
23830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23836     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23837     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23838     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23839     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23840     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23841     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23842     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23843     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23848     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23849     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23850     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
23851     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23852     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
23853     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23854     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
23855     #[cfg(not(feature = "Foundation_Numerics"))] usize,
23856 );
23857 #[repr(transparent)]
23858 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23859 #[doc(hidden)]
23860 pub struct ICompositionShapeFactory(::windows::runtime::IInspectable);
23861 unsafe impl ::windows::runtime::Interface for ICompositionShapeFactory {
23862     type Vtable = ICompositionShapeFactory_abi;
23863     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(503068368, 45146, 17647, [130, 176, 18, 17, 139, 205, 76, 208]);
23864 }
23865 #[repr(C)]
23866 #[doc(hidden)]
23867 pub struct ICompositionShapeFactory_abi(
23868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23874 );
23875 #[repr(transparent)]
23876 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23877 #[doc(hidden)]
23878 pub struct ICompositionSpriteShape(::windows::runtime::IInspectable);
23879 unsafe impl ::windows::runtime::Interface for ICompositionSpriteShape {
23880     type Vtable = ICompositionSpriteShape_abi;
23881     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1075536315, 7, 17251, [177, 243, 107, 204, 0, 63, 184, 62]);
23882 }
23883 #[repr(C)]
23884 #[doc(hidden)]
23885 pub struct ICompositionSpriteShape_abi(
23886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
23897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
23898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23900     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23901     #[cfg(not(feature = "Foundation_Collections"))] usize,
23902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionStrokeCap) -> ::windows::runtime::HRESULT,
23903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionStrokeCap) -> ::windows::runtime::HRESULT,
23904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionStrokeCap) -> ::windows::runtime::HRESULT,
23907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionStrokeCap) -> ::windows::runtime::HRESULT,
23908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionStrokeLineJoin) -> ::windows::runtime::HRESULT,
23909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionStrokeLineJoin) -> ::windows::runtime::HRESULT,
23910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionStrokeCap) -> ::windows::runtime::HRESULT,
23913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionStrokeCap) -> ::windows::runtime::HRESULT,
23914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
23915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
23916 );
23917 #[repr(transparent)]
23918 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23919 pub struct ICompositionSupportsSystemBackdrop(::windows::runtime::IInspectable);
23920 unsafe impl ::windows::runtime::Interface for ICompositionSupportsSystemBackdrop {
23921     type Vtable = ICompositionSupportsSystemBackdrop_abi;
23922     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(964538340, 46786, 23481, [149, 29, 245, 112, 125, 232, 183, 188]);
23923 }
23924 impl ICompositionSupportsSystemBackdrop {
SystemBackdrop(&self) -> ::windows::runtime::Result<CompositionBrush>23925     pub fn SystemBackdrop(&self) -> ::windows::runtime::Result<CompositionBrush> {
23926         let this = self;
23927         unsafe {
23928             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
23929             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBrush>(result__)
23930         }
23931     }
SetSystemBackdrop<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>23932     pub fn SetSystemBackdrop<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
23933         let this = self;
23934         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
23935     }
23936 }
23937 unsafe impl ::windows::runtime::RuntimeType for ICompositionSupportsSystemBackdrop {
23938     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{397dafe4-b6c2-5bb9-951d-f5707de8b7bc}");
23939 }
23940 impl ::std::convert::From<ICompositionSupportsSystemBackdrop> for ::windows::runtime::IUnknown {
from(value: ICompositionSupportsSystemBackdrop) -> Self23941     fn from(value: ICompositionSupportsSystemBackdrop) -> Self {
23942         unsafe { ::std::mem::transmute(value) }
23943     }
23944 }
23945 impl ::std::convert::From<&ICompositionSupportsSystemBackdrop> for ::windows::runtime::IUnknown {
from(value: &ICompositionSupportsSystemBackdrop) -> Self23946     fn from(value: &ICompositionSupportsSystemBackdrop) -> Self {
23947         ::std::convert::From::from(::std::clone::Clone::clone(value))
23948     }
23949 }
23950 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICompositionSupportsSystemBackdrop {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>23951     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
23952         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
23953     }
23954 }
23955 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICompositionSupportsSystemBackdrop {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>23956     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
23957         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
23958     }
23959 }
23960 impl ::std::convert::From<ICompositionSupportsSystemBackdrop> for ::windows::runtime::IInspectable {
from(value: ICompositionSupportsSystemBackdrop) -> Self23961     fn from(value: ICompositionSupportsSystemBackdrop) -> Self {
23962         value.0
23963     }
23964 }
23965 impl ::std::convert::From<&ICompositionSupportsSystemBackdrop> for ::windows::runtime::IInspectable {
from(value: &ICompositionSupportsSystemBackdrop) -> Self23966     fn from(value: &ICompositionSupportsSystemBackdrop) -> Self {
23967         value.0.clone()
23968     }
23969 }
23970 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ICompositionSupportsSystemBackdrop {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>23971     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
23972         ::windows::runtime::Param::Owned(self.0)
23973     }
23974 }
23975 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ICompositionSupportsSystemBackdrop {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>23976     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
23977         ::windows::runtime::Param::Borrowed(&self.0)
23978     }
23979 }
23980 #[repr(C)]
23981 #[doc(hidden)]
23982 pub struct ICompositionSupportsSystemBackdrop_abi(
23983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
23986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
23987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
23989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
23991 );
23992 #[repr(transparent)]
23993 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23994 pub struct ICompositionSurface(::windows::runtime::IInspectable);
23995 unsafe impl ::windows::runtime::Interface for ICompositionSurface {
23996     type Vtable = ICompositionSurface_abi;
23997     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(354898957, 17095, 18342, [164, 8, 102, 143, 121, 169, 13, 251]);
23998 }
23999 impl ICompositionSurface {}
24000 unsafe impl ::windows::runtime::RuntimeType for ICompositionSurface {
24001     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{1527540d-42c7-47a6-a408-668f79a90dfb}");
24002 }
24003 impl ::std::convert::From<ICompositionSurface> for ::windows::runtime::IUnknown {
from(value: ICompositionSurface) -> Self24004     fn from(value: ICompositionSurface) -> Self {
24005         unsafe { ::std::mem::transmute(value) }
24006     }
24007 }
24008 impl ::std::convert::From<&ICompositionSurface> for ::windows::runtime::IUnknown {
from(value: &ICompositionSurface) -> Self24009     fn from(value: &ICompositionSurface) -> Self {
24010         ::std::convert::From::from(::std::clone::Clone::clone(value))
24011     }
24012 }
24013 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICompositionSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24014     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24015         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
24016     }
24017 }
24018 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICompositionSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24019     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24020         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
24021     }
24022 }
24023 impl ::std::convert::From<ICompositionSurface> for ::windows::runtime::IInspectable {
from(value: ICompositionSurface) -> Self24024     fn from(value: ICompositionSurface) -> Self {
24025         value.0
24026     }
24027 }
24028 impl ::std::convert::From<&ICompositionSurface> for ::windows::runtime::IInspectable {
from(value: &ICompositionSurface) -> Self24029     fn from(value: &ICompositionSurface) -> Self {
24030         value.0.clone()
24031     }
24032 }
24033 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ICompositionSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>24034     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
24035         ::windows::runtime::Param::Owned(self.0)
24036     }
24037 }
24038 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ICompositionSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>24039     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
24040         ::windows::runtime::Param::Borrowed(&self.0)
24041     }
24042 }
24043 #[repr(C)]
24044 #[doc(hidden)]
24045 pub struct ICompositionSurface_abi(
24046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24052 );
24053 #[repr(transparent)]
24054 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24055 #[doc(hidden)]
24056 pub struct ICompositionSurfaceBrush(::windows::runtime::IInspectable);
24057 unsafe impl ::windows::runtime::Interface for ICompositionSurfaceBrush {
24058     type Vtable = ICompositionSurfaceBrush_abi;
24059     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2902551929, 7756, 19469, [156, 41, 131, 51, 140, 135, 193, 98]);
24060 }
24061 #[repr(C)]
24062 #[doc(hidden)]
24063 pub struct ICompositionSurfaceBrush_abi(
24064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionBitmapInterpolationMode) -> ::windows::runtime::HRESULT,
24071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionBitmapInterpolationMode) -> ::windows::runtime::HRESULT,
24072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionStretch) -> ::windows::runtime::HRESULT,
24075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionStretch) -> ::windows::runtime::HRESULT,
24076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24080 );
24081 #[repr(transparent)]
24082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24083 #[doc(hidden)]
24084 pub struct ICompositionSurfaceBrush2(::windows::runtime::IInspectable);
24085 unsafe impl ::windows::runtime::Interface for ICompositionSurfaceBrush2 {
24086     type Vtable = ICompositionSurfaceBrush2_abi;
24087     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3530650837, 25845, 18066, [157, 199, 113, 182, 29, 126, 88, 128]);
24088 }
24089 #[repr(C)]
24090 #[doc(hidden)]
24091 pub struct ICompositionSurfaceBrush2_abi(
24092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24098     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24099     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24100     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24101     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24102     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24103     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24104     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24105     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24106     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24107     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24108     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24109     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24114     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24115     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24116     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24117     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24118     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
24119     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24120     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Matrix3x2) -> ::windows::runtime::HRESULT,
24121     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24122 );
24123 #[repr(transparent)]
24124 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24125 #[doc(hidden)]
24126 pub struct ICompositionSurfaceBrush3(::windows::runtime::IInspectable);
24127 unsafe impl ::windows::runtime::Interface for ICompositionSurfaceBrush3 {
24128     type Vtable = ICompositionSurfaceBrush3_abi;
24129     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1426829961, 8160, 17125, [129, 149, 30, 239, 168, 127, 240, 142]);
24130 }
24131 #[repr(C)]
24132 #[doc(hidden)]
24133 pub struct ICompositionSurfaceBrush3_abi(
24134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
24141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
24142 );
24143 #[repr(transparent)]
24144 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24145 pub struct ICompositionSurfaceFacade(::windows::runtime::IInspectable);
24146 unsafe impl ::windows::runtime::Interface for ICompositionSurfaceFacade {
24147     type Vtable = ICompositionSurfaceFacade_abi;
24148     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3759547080, 9010, 21959, [136, 104, 167, 49, 44, 92, 34, 157]);
24149 }
24150 impl ICompositionSurfaceFacade {
GetRealSurface(&self) -> ::windows::runtime::Result<ICompositionSurface>24151     pub fn GetRealSurface(&self) -> ::windows::runtime::Result<ICompositionSurface> {
24152         let this = self;
24153         unsafe {
24154             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
24155             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ICompositionSurface>(result__)
24156         }
24157     }
24158 }
24159 unsafe impl ::windows::runtime::RuntimeType for ICompositionSurfaceFacade {
24160     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{e01622c8-2332-55c7-8868-a7312c5c229d}");
24161 }
24162 impl ::std::convert::From<ICompositionSurfaceFacade> for ::windows::runtime::IUnknown {
from(value: ICompositionSurfaceFacade) -> Self24163     fn from(value: ICompositionSurfaceFacade) -> Self {
24164         unsafe { ::std::mem::transmute(value) }
24165     }
24166 }
24167 impl ::std::convert::From<&ICompositionSurfaceFacade> for ::windows::runtime::IUnknown {
from(value: &ICompositionSurfaceFacade) -> Self24168     fn from(value: &ICompositionSurfaceFacade) -> Self {
24169         ::std::convert::From::from(::std::clone::Clone::clone(value))
24170     }
24171 }
24172 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICompositionSurfaceFacade {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24173     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24174         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
24175     }
24176 }
24177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICompositionSurfaceFacade {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>24178     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
24179         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
24180     }
24181 }
24182 impl ::std::convert::From<ICompositionSurfaceFacade> for ::windows::runtime::IInspectable {
from(value: ICompositionSurfaceFacade) -> Self24183     fn from(value: ICompositionSurfaceFacade) -> Self {
24184         value.0
24185     }
24186 }
24187 impl ::std::convert::From<&ICompositionSurfaceFacade> for ::windows::runtime::IInspectable {
from(value: &ICompositionSurfaceFacade) -> Self24188     fn from(value: &ICompositionSurfaceFacade) -> Self {
24189         value.0.clone()
24190     }
24191 }
24192 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ICompositionSurfaceFacade {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>24193     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
24194         ::windows::runtime::Param::Owned(self.0)
24195     }
24196 }
24197 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ICompositionSurfaceFacade {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>24198     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
24199         ::windows::runtime::Param::Borrowed(&self.0)
24200     }
24201 }
24202 #[repr(C)]
24203 #[doc(hidden)]
24204 pub struct ICompositionSurfaceFacade_abi(
24205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24212 );
24213 #[repr(transparent)]
24214 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24215 #[doc(hidden)]
24216 pub struct ICompositionTarget(::windows::runtime::IInspectable);
24217 unsafe impl ::windows::runtime::Interface for ICompositionTarget {
24218     type Vtable = ICompositionTarget_abi;
24219     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2713626810, 55078, 18019, [129, 41, 107, 94, 121, 39, 255, 166]);
24220 }
24221 #[repr(C)]
24222 #[doc(hidden)]
24223 pub struct ICompositionTarget_abi(
24224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24232 );
24233 #[repr(transparent)]
24234 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24235 #[doc(hidden)]
24236 pub struct ICompositionTargetFactory(::windows::runtime::IInspectable);
24237 unsafe impl ::windows::runtime::Interface for ICompositionTargetFactory {
24238     type Vtable = ICompositionTargetFactory_abi;
24239     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2479725867, 34070, 19220, [168, 206, 244, 158, 33, 25, 236, 66]);
24240 }
24241 #[repr(C)]
24242 #[doc(hidden)]
24243 pub struct ICompositionTargetFactory_abi(
24244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24250 );
24251 #[repr(transparent)]
24252 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24253 #[doc(hidden)]
24254 pub struct ICompositionTransform(::windows::runtime::IInspectable);
24255 unsafe impl ::windows::runtime::Interface for ICompositionTransform {
24256     type Vtable = ICompositionTransform_abi;
24257     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2094351657, 64493, 16658, [171, 197, 24, 89, 6, 221, 146, 124]);
24258 }
24259 #[repr(C)]
24260 #[doc(hidden)]
24261 pub struct ICompositionTransform_abi(
24262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24268 );
24269 #[repr(transparent)]
24270 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24271 #[doc(hidden)]
24272 pub struct ICompositionTransformFactory(::windows::runtime::IInspectable);
24273 unsafe impl ::windows::runtime::Interface for ICompositionTransformFactory {
24274     type Vtable = ICompositionTransformFactory_abi;
24275     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2863581734, 49481, 20858, [143, 114, 107, 255, 122, 101, 206, 8]);
24276 }
24277 #[repr(C)]
24278 #[doc(hidden)]
24279 pub struct ICompositionTransformFactory_abi(
24280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24286 );
24287 #[repr(transparent)]
24288 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24289 #[doc(hidden)]
24290 pub struct ICompositionViewBox(::windows::runtime::IInspectable);
24291 unsafe impl ::windows::runtime::Interface for ICompositionViewBox {
24292     type Vtable = ICompositionViewBox_abi;
24293     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3024142087, 1679, 17719, [132, 198, 78, 203, 224, 25, 225, 244]);
24294 }
24295 #[repr(C)]
24296 #[doc(hidden)]
24297 pub struct ICompositionViewBox_abi(
24298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24306     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24307     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24308     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24309     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24310     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24311     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24312     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24313     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionStretch) -> ::windows::runtime::HRESULT,
24315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionStretch) -> ::windows::runtime::HRESULT,
24316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24318 );
24319 #[repr(transparent)]
24320 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24321 #[doc(hidden)]
24322 pub struct ICompositionVirtualDrawingSurface(::windows::runtime::IInspectable);
24323 unsafe impl ::windows::runtime::Interface for ICompositionVirtualDrawingSurface {
24324     type Vtable = ICompositionVirtualDrawingSurface_abi;
24325     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2848163035, 34624, 20372, [139, 157, 182, 133, 33, 231, 134, 61]);
24326 }
24327 #[repr(C)]
24328 #[doc(hidden)]
24329 pub struct ICompositionVirtualDrawingSurface_abi(
24330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24336     #[cfg(feature = "Graphics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rects_array_size: u32, rects: *const super::super::Graphics::RectInt32) -> ::windows::runtime::HRESULT,
24337     #[cfg(not(feature = "Graphics"))] usize,
24338 );
24339 #[repr(transparent)]
24340 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24341 #[doc(hidden)]
24342 pub struct ICompositionVirtualDrawingSurfaceFactory(::windows::runtime::IInspectable);
24343 unsafe impl ::windows::runtime::Interface for ICompositionVirtualDrawingSurfaceFactory {
24344     type Vtable = ICompositionVirtualDrawingSurfaceFactory_abi;
24345     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1734742124, 54635, 19017, [177, 223, 80, 118, 160, 98, 7, 104]);
24346 }
24347 #[repr(C)]
24348 #[doc(hidden)]
24349 pub struct ICompositionVirtualDrawingSurfaceFactory_abi(
24350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24356 );
24357 #[repr(transparent)]
24358 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24359 #[doc(hidden)]
24360 pub struct ICompositionVisualSurface(::windows::runtime::IInspectable);
24361 unsafe impl ::windows::runtime::Interface for ICompositionVisualSurface {
24362     type Vtable = ICompositionVisualSurface_abi;
24363     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2988759043, 20334, 19007, [140, 174, 61, 193, 205, 167, 79, 198]);
24364 }
24365 #[repr(C)]
24366 #[doc(hidden)]
24367 pub struct ICompositionVisualSurface_abi(
24368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24376     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24377     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24378     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24379     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24380     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24381     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24382     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24383     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24384 );
24385 #[repr(transparent)]
24386 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24387 #[doc(hidden)]
24388 pub struct ICompositor(::windows::runtime::IInspectable);
24389 unsafe impl ::windows::runtime::Interface for ICompositor {
24390     type Vtable = ICompositor_abi;
24391     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3020147280, 32652, 20099, [152, 95, 204, 69, 6, 0, 54, 216]);
24392 }
24393 #[repr(C)]
24394 #[doc(hidden)]
24395 pub struct ICompositor_abi(
24396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, color: super::Color, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24406     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, controlpoint1: super::super::Foundation::Numerics::Vector2, controlpoint2: super::super::Foundation::Numerics::Vector2, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24407     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24408     #[cfg(feature = "Graphics_Effects")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, graphicseffect: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24409     #[cfg(not(feature = "Graphics_Effects"))] usize,
24410     #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Effects"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, graphicseffect: ::windows::runtime::RawPtr, animatableproperties: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24411     #[cfg(not(all(feature = "Foundation_Collections", feature = "Graphics_Effects")))] usize,
24412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, expression: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, leftinset: f32, topinset: f32, rightinset: f32, bottominset: f32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, batchtype: CompositionBatchTypes, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, surface: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, batchtype: CompositionBatchTypes, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24429 );
24430 #[repr(transparent)]
24431 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24432 #[doc(hidden)]
24433 pub struct ICompositor2(::windows::runtime::IInspectable);
24434 unsafe impl ::windows::runtime::Interface for ICompositor2 {
24435     type Vtable = ICompositor2_abi;
24436     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1934655964, 24100, 17882, [163, 143, 227, 44, 195, 73, 169, 160]);
24437 }
24438 #[repr(C)]
24439 #[doc(hidden)]
24440 pub struct ICompositor2_abi(
24441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stepcount: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24460 );
24461 #[repr(transparent)]
24462 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24463 #[doc(hidden)]
24464 pub struct ICompositor3(::windows::runtime::IInspectable);
24465 unsafe impl ::windows::runtime::Interface for ICompositor3 {
24466     type Vtable = ICompositor3_abi;
24467     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3386740464, 28337, 20028, [166, 88, 103, 93, 156, 100, 212, 171]);
24468 }
24469 #[repr(C)]
24470 #[doc(hidden)]
24471 pub struct ICompositor3_abi(
24472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24479 );
24480 #[repr(transparent)]
24481 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24482 #[doc(hidden)]
24483 pub struct ICompositor4(::windows::runtime::IInspectable);
24484 unsafe impl ::windows::runtime::Interface for ICompositor4 {
24485     type Vtable = ICompositor4_abi;
24486     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2923947914, 30992, 17445, [164, 130, 160, 91, 117, 138, 220, 233]);
24487 }
24488 #[repr(C)]
24489 #[doc(hidden)]
24490 pub struct ICompositor4_abi(
24491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: f32, color: super::Color, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24503 );
24504 #[repr(transparent)]
24505 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24506 #[doc(hidden)]
24507 pub struct ICompositor5(::windows::runtime::IInspectable);
24508 unsafe impl ::windows::runtime::Interface for ICompositor5 {
24509     type Vtable = ICompositor5_abi;
24510     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1223307693, 32717, 16502, [167, 156, 144, 204, 75, 133, 44, 155]);
24511 }
24512 #[repr(C)]
24513 #[doc(hidden)]
24514 pub struct ICompositor5_abi(
24515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
24522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
24523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, geometry: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24540     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24541     #[cfg(not(feature = "Foundation"))] usize,
24542 );
24543 #[repr(transparent)]
24544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24545 #[doc(hidden)]
24546 pub struct ICompositor6(::windows::runtime::IInspectable);
24547 unsafe impl ::windows::runtime::Interface for ICompositor6 {
24548     type Vtable = ICompositor6_abi;
24549     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2050536125, 52936, 20203, [131, 15, 216, 208, 122, 237, 235, 195]);
24550 }
24551 #[repr(C)]
24552 #[doc(hidden)]
24553 pub struct ICompositor6_abi(
24554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, geometry: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24565 );
24566 #[repr(transparent)]
24567 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24568 #[doc(hidden)]
24569 pub struct ICompositor7(::windows::runtime::IInspectable);
24570 unsafe impl ::windows::runtime::Interface for ICompositor7 {
24571     type Vtable = ICompositor7_abi;
24572     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3544727469, 39442, 21434, [191, 200, 136, 183, 255, 121, 119, 198]);
24573 }
24574 #[repr(C)]
24575 #[doc(hidden)]
24576 pub struct ICompositor7_abi(
24577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24583     #[cfg(feature = "System")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24584     #[cfg(not(feature = "System"))] usize,
24585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, left: f32, top: f32, right: f32, bottom: f32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24588     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, left: f32, top: f32, right: f32, bottom: f32, topleftradius: super::super::Foundation::Numerics::Vector2, toprightradius: super::super::Foundation::Numerics::Vector2, bottomrightradius: super::super::Foundation::Numerics::Vector2, bottomleftradius: super::super::Foundation::Numerics::Vector2, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24589     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24590 );
24591 #[repr(transparent)]
24592 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24593 #[doc(hidden)]
24594 pub struct ICompositorStatics(::windows::runtime::IInspectable);
24595 unsafe impl ::windows::runtime::Interface for ICompositorStatics {
24596     type Vtable = ICompositorStatics_abi;
24597     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(135117118, 4638, 19863, [139, 116, 29, 252, 249, 25, 135, 234]);
24598 }
24599 #[repr(C)]
24600 #[doc(hidden)]
24601 pub struct ICompositorStatics_abi(
24602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24610 );
24611 #[repr(transparent)]
24612 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24613 #[doc(hidden)]
24614 pub struct ICompositorWithBlurredWallpaperBackdropBrush(::windows::runtime::IInspectable);
24615 unsafe impl ::windows::runtime::Interface for ICompositorWithBlurredWallpaperBackdropBrush {
24616     type Vtable = ICompositorWithBlurredWallpaperBackdropBrush_abi;
24617     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(227520912, 61730, 23437, [159, 221, 84, 59, 13, 142, 183, 243]);
24618 }
24619 #[repr(C)]
24620 #[doc(hidden)]
24621 pub struct ICompositorWithBlurredWallpaperBackdropBrush_abi(
24622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24629 );
24630 #[repr(transparent)]
24631 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24632 #[doc(hidden)]
24633 pub struct ICompositorWithProjectedShadow(::windows::runtime::IInspectable);
24634 unsafe impl ::windows::runtime::Interface for ICompositorWithProjectedShadow {
24635     type Vtable = ICompositorWithProjectedShadow_abi;
24636     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2732995342, 35424, 23096, [187, 133, 180, 78, 169, 1, 103, 124]);
24637 }
24638 #[repr(C)]
24639 #[doc(hidden)]
24640 pub struct ICompositorWithProjectedShadow_abi(
24641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24650 );
24651 #[repr(transparent)]
24652 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24653 #[doc(hidden)]
24654 pub struct ICompositorWithRadialGradient(::windows::runtime::IInspectable);
24655 unsafe impl ::windows::runtime::Interface for ICompositorWithRadialGradient {
24656     type Vtable = ICompositorWithRadialGradient_abi;
24657     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2562310567, 36465, 19283, [180, 168, 105, 186, 93, 25, 220, 91]);
24658 }
24659 #[repr(C)]
24660 #[doc(hidden)]
24661 pub struct ICompositorWithRadialGradient_abi(
24662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24669 );
24670 #[repr(transparent)]
24671 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24672 #[doc(hidden)]
24673 pub struct ICompositorWithVisualSurface(::windows::runtime::IInspectable);
24674 unsafe impl ::windows::runtime::Interface for ICompositorWithVisualSurface {
24675     type Vtable = ICompositorWithVisualSurface_abi;
24676     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3483461003, 291, 17745, [136, 145, 137, 189, 204, 64, 50, 43]);
24677 }
24678 #[repr(C)]
24679 #[doc(hidden)]
24680 pub struct ICompositorWithVisualSurface_abi(
24681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24688 );
24689 #[repr(transparent)]
24690 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24691 #[doc(hidden)]
24692 pub struct IContainerVisual(::windows::runtime::IInspectable);
24693 unsafe impl ::windows::runtime::Interface for IContainerVisual {
24694     type Vtable = IContainerVisual_abi;
24695     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(49724532, 60704, 18291, [175, 230, 212, 155, 74, 147, 219, 50]);
24696 }
24697 #[repr(C)]
24698 #[doc(hidden)]
24699 pub struct IContainerVisual_abi(
24700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24707 );
24708 #[repr(transparent)]
24709 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24710 #[doc(hidden)]
24711 pub struct IContainerVisualFactory(::windows::runtime::IInspectable);
24712 unsafe impl ::windows::runtime::Interface for IContainerVisualFactory {
24713     type Vtable = IContainerVisualFactory_abi;
24714     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(56862299, 51162, 19866, [149, 244, 105, 181, 200, 223, 103, 11]);
24715 }
24716 #[repr(C)]
24717 #[doc(hidden)]
24718 pub struct IContainerVisualFactory_abi(
24719     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24720     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24725 );
24726 #[repr(transparent)]
24727 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24728 #[doc(hidden)]
24729 pub struct ICubicBezierEasingFunction(::windows::runtime::IInspectable);
24730 unsafe impl ::windows::runtime::Interface for ICubicBezierEasingFunction {
24731     type Vtable = ICubicBezierEasingFunction_abi;
24732     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(842335846, 49640, 17657, [150, 184, 201, 138, 207, 10, 230, 152]);
24733 }
24734 #[repr(C)]
24735 #[doc(hidden)]
24736 pub struct ICubicBezierEasingFunction_abi(
24737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24743     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24744     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24745     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
24746     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24747 );
24748 #[repr(transparent)]
24749 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24750 #[doc(hidden)]
24751 pub struct IDelegatedInkTrailVisual(::windows::runtime::IInspectable);
24752 unsafe impl ::windows::runtime::Interface for IDelegatedInkTrailVisual {
24753     type Vtable = IDelegatedInkTrailVisual_abi;
24754     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2238603441, 57771, 23331, [142, 61, 213, 19, 242, 33, 201, 152]);
24755 }
24756 #[repr(C)]
24757 #[doc(hidden)]
24758 pub struct IDelegatedInkTrailVisual_abi(
24759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24765     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, inkPoints_array_size: u32, inkpoints: *const InkTrailPoint, result__: *mut u32) -> ::windows::runtime::HRESULT,
24766     #[cfg(not(feature = "Foundation"))] usize,
24767     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, inkPoints_array_size: u32, inkpoints: *const InkTrailPoint, predictedInkPoints_array_size: u32, predictedinkpoints: *const InkTrailPoint, result__: *mut u32) -> ::windows::runtime::HRESULT,
24768     #[cfg(not(feature = "Foundation"))] usize,
24769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, generationid: u32) -> ::windows::runtime::HRESULT,
24770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, color: super::Color) -> ::windows::runtime::HRESULT,
24771 );
24772 #[repr(transparent)]
24773 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24774 #[doc(hidden)]
24775 pub struct IDelegatedInkTrailVisualStatics(::windows::runtime::IInspectable);
24776 unsafe impl ::windows::runtime::Interface for IDelegatedInkTrailVisualStatics {
24777     type Vtable = IDelegatedInkTrailVisualStatics_abi;
24778     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(229600213, 17094, 21852, [146, 103, 224, 172, 102, 58, 248, 54]);
24779 }
24780 #[repr(C)]
24781 #[doc(hidden)]
24782 pub struct IDelegatedInkTrailVisualStatics_abi(
24783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, swapchain: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24791 );
24792 #[repr(transparent)]
24793 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24794 #[doc(hidden)]
24795 pub struct IDistantLight(::windows::runtime::IInspectable);
24796 unsafe impl ::windows::runtime::Interface for IDistantLight {
24797     type Vtable = IDistantLight_abi;
24798     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(831322876, 23779, 19285, [171, 93, 7, 160, 3, 83, 172, 153]);
24799 }
24800 #[repr(C)]
24801 #[doc(hidden)]
24802 pub struct IDistantLight_abi(
24803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
24810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
24811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24813     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
24814     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24815     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
24816     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24817 );
24818 #[repr(transparent)]
24819 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24820 #[doc(hidden)]
24821 pub struct IDistantLight2(::windows::runtime::IInspectable);
24822 unsafe impl ::windows::runtime::Interface for IDistantLight2 {
24823     type Vtable = IDistantLight2_abi;
24824     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3687688732, 10571, 18647, [182, 14, 118, 223, 100, 170, 57, 43]);
24825 }
24826 #[repr(C)]
24827 #[doc(hidden)]
24828 pub struct IDistantLight2_abi(
24829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24837 );
24838 #[repr(transparent)]
24839 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24840 #[doc(hidden)]
24841 pub struct IDropShadow(::windows::runtime::IInspectable);
24842 unsafe impl ::windows::runtime::Interface for IDropShadow {
24843     type Vtable = IDropShadow_abi;
24844     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3415702535, 41300, 18513, [133, 231, 168, 146, 76, 132, 250, 216]);
24845 }
24846 #[repr(C)]
24847 #[doc(hidden)]
24848 pub struct IDropShadow_abi(
24849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
24858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
24859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24861     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
24862     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24863     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
24864     #[cfg(not(feature = "Foundation_Numerics"))] usize,
24865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24867 );
24868 #[repr(transparent)]
24869 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24870 #[doc(hidden)]
24871 pub struct IDropShadow2(::windows::runtime::IInspectable);
24872 unsafe impl ::windows::runtime::Interface for IDropShadow2 {
24873     type Vtable = IDropShadow2_abi;
24874     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1816271036, 5561, 19501, [141, 74, 7, 103, 223, 17, 151, 122]);
24875 }
24876 #[repr(C)]
24877 #[doc(hidden)]
24878 pub struct IDropShadow2_abi(
24879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionDropShadowSourcePolicy) -> ::windows::runtime::HRESULT,
24886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionDropShadowSourcePolicy) -> ::windows::runtime::HRESULT,
24887 );
24888 #[repr(transparent)]
24889 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24890 #[doc(hidden)]
24891 pub struct IElasticEasingFunction(::windows::runtime::IInspectable);
24892 unsafe impl ::windows::runtime::Interface for IElasticEasingFunction {
24893     type Vtable = IElasticEasingFunction_abi;
24894     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1725850245, 1358, 21908, [132, 117, 194, 44, 181, 31, 27, 213]);
24895 }
24896 #[repr(C)]
24897 #[doc(hidden)]
24898 pub struct IElasticEasingFunction_abi(
24899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionEasingFunctionMode) -> ::windows::runtime::HRESULT,
24906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
24907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24908 );
24909 #[repr(transparent)]
24910 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24911 #[doc(hidden)]
24912 pub struct IExponentialEasingFunction(::windows::runtime::IInspectable);
24913 unsafe impl ::windows::runtime::Interface for IExponentialEasingFunction {
24914     type Vtable = IExponentialEasingFunction_abi;
24915     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1870469713, 39122, 22072, [163, 74, 0, 72, 101, 84, 199, 80]);
24916 }
24917 #[repr(C)]
24918 #[doc(hidden)]
24919 pub struct IExponentialEasingFunction_abi(
24920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionEasingFunctionMode) -> ::windows::runtime::HRESULT,
24927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24928 );
24929 #[repr(transparent)]
24930 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24931 #[doc(hidden)]
24932 pub struct IExpressionAnimation(::windows::runtime::IInspectable);
24933 unsafe impl ::windows::runtime::Interface for IExpressionAnimation {
24934     type Vtable = IExpressionAnimation_abi;
24935     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1791775793, 32061, 19443, [171, 182, 244, 75, 220, 72, 136, 193]);
24936 }
24937 #[repr(C)]
24938 #[doc(hidden)]
24939 pub struct IExpressionAnimation_abi(
24940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
24947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
24948 );
24949 #[repr(transparent)]
24950 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24951 #[doc(hidden)]
24952 pub struct IImplicitAnimationCollection(::windows::runtime::IInspectable);
24953 unsafe impl ::windows::runtime::Interface for IImplicitAnimationCollection {
24954     type Vtable = IImplicitAnimationCollection_abi;
24955     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(93889535, 2706, 19613, [164, 39, 178, 85, 25, 37, 13, 191]);
24956 }
24957 #[repr(C)]
24958 #[doc(hidden)]
24959 pub struct IImplicitAnimationCollection_abi(
24960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24966 );
24967 #[repr(transparent)]
24968 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24969 #[doc(hidden)]
24970 pub struct IInsetClip(::windows::runtime::IInspectable);
24971 unsafe impl ::windows::runtime::Interface for IInsetClip {
24972     type Vtable = IInsetClip_abi;
24973     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(510912071, 33991, 18298, [180, 116, 88, 128, 224, 68, 46, 21]);
24974 }
24975 #[repr(C)]
24976 #[doc(hidden)]
24977 pub struct IInsetClip_abi(
24978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
24981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
24982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
24983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
24984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
24991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
24992 );
24993 #[repr(transparent)]
24994 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
24995 #[doc(hidden)]
24996 pub struct IKeyFrameAnimation(::windows::runtime::IInspectable);
24997 unsafe impl ::windows::runtime::Interface for IKeyFrameAnimation {
24998     type Vtable = IKeyFrameAnimation_abi;
24999     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(309231394, 15081, 17728, [154, 138, 222, 174, 138, 74, 74, 132]);
25000 }
25001 #[repr(C)]
25002 #[doc(hidden)]
25003 pub struct IKeyFrameAnimation_abi(
25004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25010     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25011     #[cfg(not(feature = "Foundation"))] usize,
25012     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25013     #[cfg(not(feature = "Foundation"))] usize,
25014     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25015     #[cfg(not(feature = "Foundation"))] usize,
25016     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25017     #[cfg(not(feature = "Foundation"))] usize,
25018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AnimationIterationBehavior) -> ::windows::runtime::HRESULT,
25019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AnimationIterationBehavior) -> ::windows::runtime::HRESULT,
25020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
25021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
25022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
25023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AnimationStopBehavior) -> ::windows::runtime::HRESULT,
25024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AnimationStopBehavior) -> ::windows::runtime::HRESULT,
25025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
25026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, easingfunction: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25027 );
25028 #[repr(transparent)]
25029 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25030 #[doc(hidden)]
25031 pub struct IKeyFrameAnimation2(::windows::runtime::IInspectable);
25032 unsafe impl ::windows::runtime::Interface for IKeyFrameAnimation2 {
25033     type Vtable = IKeyFrameAnimation2_abi;
25034     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4105472187, 10560, 20160, [164, 26, 235, 109, 128, 26, 47, 24]);
25035 }
25036 #[repr(C)]
25037 #[doc(hidden)]
25038 pub struct IKeyFrameAnimation2_abi(
25039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AnimationDirection) -> ::windows::runtime::HRESULT,
25046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AnimationDirection) -> ::windows::runtime::HRESULT,
25047 );
25048 #[repr(transparent)]
25049 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25050 #[doc(hidden)]
25051 pub struct IKeyFrameAnimation3(::windows::runtime::IInspectable);
25052 unsafe impl ::windows::runtime::Interface for IKeyFrameAnimation3 {
25053     type Vtable = IKeyFrameAnimation3_abi;
25054     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2220617908, 55518, 17967, [135, 83, 200, 13, 67, 198, 255, 90]);
25055 }
25056 #[repr(C)]
25057 #[doc(hidden)]
25058 pub struct IKeyFrameAnimation3_abi(
25059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AnimationDelayBehavior) -> ::windows::runtime::HRESULT,
25066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AnimationDelayBehavior) -> ::windows::runtime::HRESULT,
25067 );
25068 #[repr(transparent)]
25069 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25070 #[doc(hidden)]
25071 pub struct IKeyFrameAnimationFactory(::windows::runtime::IInspectable);
25072 unsafe impl ::windows::runtime::Interface for IKeyFrameAnimationFactory {
25073     type Vtable = IKeyFrameAnimationFactory_abi;
25074     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3204973560, 28970, 20417, [140, 135, 151, 8, 89, 237, 141, 46]);
25075 }
25076 #[repr(C)]
25077 #[doc(hidden)]
25078 pub struct IKeyFrameAnimationFactory_abi(
25079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25085 );
25086 #[repr(transparent)]
25087 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25088 #[doc(hidden)]
25089 pub struct ILayerVisual(::windows::runtime::IInspectable);
25090 unsafe impl ::windows::runtime::Interface for ILayerVisual {
25091     type Vtable = ILayerVisual_abi;
25092     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2944678277, 1092, 18567, [142, 131, 180, 11, 37, 63, 130, 44]);
25093 }
25094 #[repr(C)]
25095 #[doc(hidden)]
25096 pub struct ILayerVisual_abi(
25097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25105 );
25106 #[repr(transparent)]
25107 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25108 #[doc(hidden)]
25109 pub struct ILayerVisual2(::windows::runtime::IInspectable);
25110 unsafe impl ::windows::runtime::Interface for ILayerVisual2 {
25111     type Vtable = ILayerVisual2_abi;
25112     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2566500075, 28451, 18929, [144, 177, 31, 89, 161, 79, 188, 227]);
25113 }
25114 #[repr(C)]
25115 #[doc(hidden)]
25116 pub struct ILayerVisual2_abi(
25117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25125 );
25126 #[repr(transparent)]
25127 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25128 #[doc(hidden)]
25129 pub struct ILinearEasingFunction(::windows::runtime::IInspectable);
25130 unsafe impl ::windows::runtime::Interface for ILinearEasingFunction {
25131     type Vtable = ILinearEasingFunction_abi;
25132     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2483066714, 51110, 18099, [172, 247, 26, 38, 138, 10, 17, 125]);
25133 }
25134 #[repr(C)]
25135 #[doc(hidden)]
25136 pub struct ILinearEasingFunction_abi(
25137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25143 );
25144 #[repr(transparent)]
25145 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25146 #[doc(hidden)]
25147 pub struct INaturalMotionAnimation(::windows::runtime::IInspectable);
25148 unsafe impl ::windows::runtime::Interface for INaturalMotionAnimation {
25149     type Vtable = INaturalMotionAnimation_abi;
25150     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1133371693, 30363, 18465, [169, 73, 40, 74, 101, 71, 232, 115]);
25151 }
25152 #[repr(C)]
25153 #[doc(hidden)]
25154 pub struct INaturalMotionAnimation_abi(
25155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AnimationDelayBehavior) -> ::windows::runtime::HRESULT,
25162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AnimationDelayBehavior) -> ::windows::runtime::HRESULT,
25163     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25164     #[cfg(not(feature = "Foundation"))] usize,
25165     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25166     #[cfg(not(feature = "Foundation"))] usize,
25167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AnimationStopBehavior) -> ::windows::runtime::HRESULT,
25168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AnimationStopBehavior) -> ::windows::runtime::HRESULT,
25169 );
25170 #[repr(transparent)]
25171 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25172 #[doc(hidden)]
25173 pub struct INaturalMotionAnimationFactory(::windows::runtime::IInspectable);
25174 unsafe impl ::windows::runtime::Interface for INaturalMotionAnimationFactory {
25175     type Vtable = INaturalMotionAnimationFactory_abi;
25176     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4114270982, 53098, 17287, [163, 254, 82, 33, 243, 231, 224, 224]);
25177 }
25178 #[repr(C)]
25179 #[doc(hidden)]
25180 pub struct INaturalMotionAnimationFactory_abi(
25181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25187 );
25188 #[repr(transparent)]
25189 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25190 #[doc(hidden)]
25191 pub struct IPathKeyFrameAnimation(::windows::runtime::IInspectable);
25192 unsafe impl ::windows::runtime::Interface for IPathKeyFrameAnimation {
25193     type Vtable = IPathKeyFrameAnimation_abi;
25194     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2634881225, 5494, 19263, [190, 96, 29, 80, 49, 245, 231, 27]);
25195 }
25196 #[repr(C)]
25197 #[doc(hidden)]
25198 pub struct IPathKeyFrameAnimation_abi(
25199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, path: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, path: ::windows::runtime::RawPtr, easingfunction: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25207 );
25208 #[repr(transparent)]
25209 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25210 #[doc(hidden)]
25211 pub struct IPointLight(::windows::runtime::IInspectable);
25212 unsafe impl ::windows::runtime::Interface for IPointLight {
25213     type Vtable = IPointLight_abi;
25214     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2978301363, 3162, 19120, [190, 220, 79, 53, 70, 148, 130, 114]);
25215 }
25216 #[repr(C)]
25217 #[doc(hidden)]
25218 pub struct IPointLight_abi(
25219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
25226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
25227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25233     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25234     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25235     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25236     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25238     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25239 );
25240 #[repr(transparent)]
25241 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25242 #[doc(hidden)]
25243 pub struct IPointLight2(::windows::runtime::IInspectable);
25244 unsafe impl ::windows::runtime::Interface for IPointLight2 {
25245     type Vtable = IPointLight2_abi;
25246     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4025061164, 1656, 20329, [177, 100, 168, 16, 217, 149, 188, 183]);
25247 }
25248 #[repr(C)]
25249 #[doc(hidden)]
25250 pub struct IPointLight2_abi(
25251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25259 );
25260 #[repr(transparent)]
25261 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25262 #[doc(hidden)]
25263 pub struct IPointLight3(::windows::runtime::IInspectable);
25264 unsafe impl ::windows::runtime::Interface for IPointLight3 {
25265     type Vtable = IPointLight3_abi;
25266     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1275757415, 54505, 18058, [135, 174, 123, 164, 58, 178, 148, 133]);
25267 }
25268 #[repr(C)]
25269 #[doc(hidden)]
25270 pub struct IPointLight3_abi(
25271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25281 );
25282 #[repr(transparent)]
25283 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25284 #[doc(hidden)]
25285 pub struct IPowerEasingFunction(::windows::runtime::IInspectable);
25286 unsafe impl ::windows::runtime::Interface for IPowerEasingFunction {
25287     type Vtable = IPowerEasingFunction_abi;
25288     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3288290262, 5003, 22549, [137, 26, 183, 246, 21, 204, 197, 99]);
25289 }
25290 #[repr(C)]
25291 #[doc(hidden)]
25292 pub struct IPowerEasingFunction_abi(
25293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionEasingFunctionMode) -> ::windows::runtime::HRESULT,
25300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25301 );
25302 #[repr(transparent)]
25303 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25304 #[doc(hidden)]
25305 pub struct IQuaternionKeyFrameAnimation(::windows::runtime::IInspectable);
25306 unsafe impl ::windows::runtime::Interface for IQuaternionKeyFrameAnimation {
25307     type Vtable = IQuaternionKeyFrameAnimation_abi;
25308     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1078876213, 60662, 16960, [133, 32, 103, 18, 121, 207, 54, 188]);
25309 }
25310 #[repr(C)]
25311 #[doc(hidden)]
25312 pub struct IQuaternionKeyFrameAnimation_abi(
25313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25319     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::HRESULT,
25320     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25321     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Quaternion, easingfunction: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25322     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25323 );
25324 #[repr(transparent)]
25325 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25326 #[doc(hidden)]
25327 pub struct IRectangleClip(::windows::runtime::IInspectable);
25328 unsafe impl ::windows::runtime::Interface for IRectangleClip {
25329     type Vtable = IRectangleClip_abi;
25330     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3018282142, 180, 23379, [139, 232, 53, 63, 108, 67, 49, 1]);
25331 }
25332 #[repr(C)]
25333 #[doc(hidden)]
25334 pub struct IRectangleClip_abi(
25335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25343     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25344     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25345     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25346     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25347     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25348     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25349     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25350     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25357     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25358     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25359     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25360     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25361     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25362     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25363     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25364     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25365 );
25366 #[repr(transparent)]
25367 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25368 #[doc(hidden)]
25369 pub struct IRedirectVisual(::windows::runtime::IInspectable);
25370 unsafe impl ::windows::runtime::Interface for IRedirectVisual {
25371     type Vtable = IRedirectVisual_abi;
25372     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2361844544, 35701, 21538, [176, 111, 9, 255, 233, 248, 97, 126]);
25373 }
25374 #[repr(C)]
25375 #[doc(hidden)]
25376 pub struct IRedirectVisual_abi(
25377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25385 );
25386 #[repr(transparent)]
25387 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25388 #[doc(hidden)]
25389 pub struct IRenderingDeviceReplacedEventArgs(::windows::runtime::IInspectable);
25390 unsafe impl ::windows::runtime::Interface for IRenderingDeviceReplacedEventArgs {
25391     type Vtable = IRenderingDeviceReplacedEventArgs_abi;
25392     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(976333949, 10431, 20090, [133, 36, 113, 103, 157, 72, 15, 56]);
25393 }
25394 #[repr(C)]
25395 #[doc(hidden)]
25396 pub struct IRenderingDeviceReplacedEventArgs_abi(
25397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25404 );
25405 #[repr(transparent)]
25406 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25407 #[doc(hidden)]
25408 pub struct IScalarKeyFrameAnimation(::windows::runtime::IInspectable);
25409 unsafe impl ::windows::runtime::Interface for IScalarKeyFrameAnimation {
25410     type Vtable = IScalarKeyFrameAnimation_abi;
25411     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2921893801, 9516, 19349, [167, 37, 191, 133, 227, 128, 0, 161]);
25412 }
25413 #[repr(C)]
25414 #[doc(hidden)]
25415 pub struct IScalarKeyFrameAnimation_abi(
25416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: f32) -> ::windows::runtime::HRESULT,
25423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: f32, easingfunction: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25424 );
25425 #[repr(transparent)]
25426 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25427 #[doc(hidden)]
25428 pub struct IScalarNaturalMotionAnimation(::windows::runtime::IInspectable);
25429 unsafe impl ::windows::runtime::Interface for IScalarNaturalMotionAnimation {
25430     type Vtable = IScalarNaturalMotionAnimation_abi;
25431     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2494121345, 49042, 18779, [181, 189, 210, 198, 89, 67, 7, 55]);
25432 }
25433 #[repr(C)]
25434 #[doc(hidden)]
25435 pub struct IScalarNaturalMotionAnimation_abi(
25436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25442     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25443     #[cfg(not(feature = "Foundation"))] usize,
25444     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25445     #[cfg(not(feature = "Foundation"))] usize,
25446     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25447     #[cfg(not(feature = "Foundation"))] usize,
25448     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25449     #[cfg(not(feature = "Foundation"))] usize,
25450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25452 );
25453 #[repr(transparent)]
25454 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25455 #[doc(hidden)]
25456 pub struct IScalarNaturalMotionAnimationFactory(::windows::runtime::IInspectable);
25457 unsafe impl ::windows::runtime::Interface for IScalarNaturalMotionAnimationFactory {
25458     type Vtable = IScalarNaturalMotionAnimationFactory_abi;
25459     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2203755772, 26396, 16861, [175, 72, 174, 141, 239, 139, 21, 41]);
25460 }
25461 #[repr(C)]
25462 #[doc(hidden)]
25463 pub struct IScalarNaturalMotionAnimationFactory_abi(
25464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25470 );
25471 #[repr(transparent)]
25472 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25473 #[doc(hidden)]
25474 pub struct IShapeVisual(::windows::runtime::IInspectable);
25475 unsafe impl ::windows::runtime::Interface for IShapeVisual {
25476     type Vtable = IShapeVisual_abi;
25477     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4072477635, 47742, 19215, [145, 38, 255, 183, 83, 107, 129, 118]);
25478 }
25479 #[repr(C)]
25480 #[doc(hidden)]
25481 pub struct IShapeVisual_abi(
25482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25488     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25489     #[cfg(not(feature = "Foundation_Collections"))] usize,
25490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25492 );
25493 #[repr(transparent)]
25494 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25495 #[doc(hidden)]
25496 pub struct ISineEasingFunction(::windows::runtime::IInspectable);
25497 unsafe impl ::windows::runtime::Interface for ISineEasingFunction {
25498     type Vtable = ISineEasingFunction_abi;
25499     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4055177407, 38243, 21620, [189, 19, 68, 178, 223, 75, 29, 88]);
25500 }
25501 #[repr(C)]
25502 #[doc(hidden)]
25503 pub struct ISineEasingFunction_abi(
25504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionEasingFunctionMode) -> ::windows::runtime::HRESULT,
25511 );
25512 #[repr(transparent)]
25513 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25514 #[doc(hidden)]
25515 pub struct ISpotLight(::windows::runtime::IInspectable);
25516 unsafe impl ::windows::runtime::Interface for ISpotLight {
25517     type Vtable = ISpotLight_abi;
25518     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1520427635, 17569, 20373, [164, 34, 143, 165, 17, 107, 219, 68]);
25519 }
25520 #[repr(C)]
25521 #[doc(hidden)]
25522 pub struct ISpotLight_abi(
25523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25533     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25534     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25535     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25536     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
25542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
25543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25545     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25546     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25547     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25548     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
25554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
25555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25557 );
25558 #[repr(transparent)]
25559 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25560 #[doc(hidden)]
25561 pub struct ISpotLight2(::windows::runtime::IInspectable);
25562 unsafe impl ::windows::runtime::Interface for ISpotLight2 {
25563     type Vtable = ISpotLight2_abi;
25564     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1693344094, 1670, 19946, [169, 232, 188, 58, 140, 112, 20, 89]);
25565 }
25566 #[repr(C)]
25567 #[doc(hidden)]
25568 pub struct ISpotLight2_abi(
25569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25579 );
25580 #[repr(transparent)]
25581 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25582 #[doc(hidden)]
25583 pub struct ISpotLight3(::windows::runtime::IInspectable);
25584 unsafe impl ::windows::runtime::Interface for ISpotLight3 {
25585     type Vtable = ISpotLight3_abi;
25586     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3838852842, 4895, 18446, [133, 158, 184, 39, 5, 183, 67, 96]);
25587 }
25588 #[repr(C)]
25589 #[doc(hidden)]
25590 pub struct ISpotLight3_abi(
25591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25601 );
25602 #[repr(transparent)]
25603 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25604 #[doc(hidden)]
25605 pub struct ISpringScalarNaturalMotionAnimation(::windows::runtime::IInspectable);
25606 unsafe impl ::windows::runtime::Interface for ISpringScalarNaturalMotionAnimation {
25607     type Vtable = ISpringScalarNaturalMotionAnimation_abi;
25608     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(91400543, 14329, 20414, [184, 123, 92, 208, 58, 137, 80, 28]);
25609 }
25610 #[repr(C)]
25611 #[doc(hidden)]
25612 pub struct ISpringScalarNaturalMotionAnimation_abi(
25613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25621     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25622     #[cfg(not(feature = "Foundation"))] usize,
25623     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25624     #[cfg(not(feature = "Foundation"))] usize,
25625 );
25626 #[repr(transparent)]
25627 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25628 #[doc(hidden)]
25629 pub struct ISpringVector2NaturalMotionAnimation(::windows::runtime::IInspectable);
25630 unsafe impl ::windows::runtime::Interface for ISpringVector2NaturalMotionAnimation {
25631     type Vtable = ISpringVector2NaturalMotionAnimation_abi;
25632     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(603231413, 61043, 20239, [164, 35, 64, 43, 148, 109, 244, 179]);
25633 }
25634 #[repr(C)]
25635 #[doc(hidden)]
25636 pub struct ISpringVector2NaturalMotionAnimation_abi(
25637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25645     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25646     #[cfg(not(feature = "Foundation"))] usize,
25647     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25648     #[cfg(not(feature = "Foundation"))] usize,
25649 );
25650 #[repr(transparent)]
25651 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25652 #[doc(hidden)]
25653 pub struct ISpringVector3NaturalMotionAnimation(::windows::runtime::IInspectable);
25654 unsafe impl ::windows::runtime::Interface for ISpringVector3NaturalMotionAnimation {
25655     type Vtable = ISpringVector3NaturalMotionAnimation_abi;
25656     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1820805599, 54651, 18324, [142, 45, 206, 203, 17, 225, 148, 229]);
25657 }
25658 #[repr(C)]
25659 #[doc(hidden)]
25660 pub struct ISpringVector3NaturalMotionAnimation_abi(
25661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25669     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25670     #[cfg(not(feature = "Foundation"))] usize,
25671     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
25672     #[cfg(not(feature = "Foundation"))] usize,
25673 );
25674 #[repr(transparent)]
25675 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25676 #[doc(hidden)]
25677 pub struct ISpriteVisual(::windows::runtime::IInspectable);
25678 unsafe impl ::windows::runtime::Interface for ISpriteVisual {
25679     type Vtable = ISpriteVisual_abi;
25680     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(148919681, 6865, 20375, [151, 87, 64, 45, 118, 228, 35, 59]);
25681 }
25682 #[repr(C)]
25683 #[doc(hidden)]
25684 pub struct ISpriteVisual_abi(
25685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25693 );
25694 #[repr(transparent)]
25695 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25696 #[doc(hidden)]
25697 pub struct ISpriteVisual2(::windows::runtime::IInspectable);
25698 unsafe impl ::windows::runtime::Interface for ISpriteVisual2 {
25699     type Vtable = ISpriteVisual2_abi;
25700     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1485608548, 39290, 18512, [145, 254, 83, 203, 88, 248, 28, 233]);
25701 }
25702 #[repr(C)]
25703 #[doc(hidden)]
25704 pub struct ISpriteVisual2_abi(
25705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25713 );
25714 #[repr(transparent)]
25715 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25716 #[doc(hidden)]
25717 pub struct IStepEasingFunction(::windows::runtime::IInspectable);
25718 unsafe impl ::windows::runtime::Interface for IStepEasingFunction {
25719     type Vtable = IStepEasingFunction_abi;
25720     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3502942027, 22028, 18955, [165, 246, 32, 108, 168, 195, 236, 214]);
25721 }
25722 #[repr(C)]
25723 #[doc(hidden)]
25724 pub struct IStepEasingFunction_abi(
25725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
25732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
25733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
25734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
25735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
25736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
25737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
25738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
25739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
25740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
25741 );
25742 #[repr(transparent)]
25743 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25744 #[doc(hidden)]
25745 pub struct IVector2KeyFrameAnimation(::windows::runtime::IInspectable);
25746 unsafe impl ::windows::runtime::Interface for IVector2KeyFrameAnimation {
25747     type Vtable = IVector2KeyFrameAnimation_abi;
25748     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3745596693, 20009, 20241, [181, 94, 191, 42, 110, 179, 98, 148]);
25749 }
25750 #[repr(C)]
25751 #[doc(hidden)]
25752 pub struct IVector2KeyFrameAnimation_abi(
25753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25759     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25760     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25761     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector2, easingfunction: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25762     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25763 );
25764 #[repr(transparent)]
25765 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25766 #[doc(hidden)]
25767 pub struct IVector2NaturalMotionAnimation(::windows::runtime::IInspectable);
25768 unsafe impl ::windows::runtime::Interface for IVector2NaturalMotionAnimation {
25769     type Vtable = IVector2NaturalMotionAnimation_abi;
25770     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(255724413, 58642, 18333, [160, 12, 119, 201, 58, 48, 163, 149]);
25771 }
25772 #[repr(C)]
25773 #[doc(hidden)]
25774 pub struct IVector2NaturalMotionAnimation_abi(
25775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25781     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25782     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
25783     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25784     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
25785     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25786     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
25787     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25788     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
25789     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25790     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25791     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25792     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25793 );
25794 #[repr(transparent)]
25795 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25796 #[doc(hidden)]
25797 pub struct IVector2NaturalMotionAnimationFactory(::windows::runtime::IInspectable);
25798 unsafe impl ::windows::runtime::Interface for IVector2NaturalMotionAnimationFactory {
25799     type Vtable = IVector2NaturalMotionAnimationFactory_abi;
25800     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2356477793, 1889, 18594, [189, 219, 106, 252, 197, 43, 137, 216]);
25801 }
25802 #[repr(C)]
25803 #[doc(hidden)]
25804 pub struct IVector2NaturalMotionAnimationFactory_abi(
25805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25811 );
25812 #[repr(transparent)]
25813 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25814 #[doc(hidden)]
25815 pub struct IVector3KeyFrameAnimation(::windows::runtime::IInspectable);
25816 unsafe impl ::windows::runtime::Interface for IVector3KeyFrameAnimation {
25817     type Vtable = IVector3KeyFrameAnimation_abi;
25818     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3355680170, 41601, 17346, [167, 61, 182, 142, 60, 83, 60, 64]);
25819 }
25820 #[repr(C)]
25821 #[doc(hidden)]
25822 pub struct IVector3KeyFrameAnimation_abi(
25823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25829     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25830     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25831     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector3, easingfunction: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25832     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25833 );
25834 #[repr(transparent)]
25835 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25836 #[doc(hidden)]
25837 pub struct IVector3NaturalMotionAnimation(::windows::runtime::IInspectable);
25838 unsafe impl ::windows::runtime::Interface for IVector3NaturalMotionAnimation {
25839     type Vtable = IVector3NaturalMotionAnimation_abi;
25840     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2618754092, 58058, 17837, [150, 158, 78, 120, 183, 185, 173, 65]);
25841 }
25842 #[repr(C)]
25843 #[doc(hidden)]
25844 pub struct IVector3NaturalMotionAnimation_abi(
25845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25851     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25852     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
25853     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25854     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
25855     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25856     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
25857     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25858     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Numerics")))] usize,
25859     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25860     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25861     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25862     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25863 );
25864 #[repr(transparent)]
25865 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25866 #[doc(hidden)]
25867 pub struct IVector3NaturalMotionAnimationFactory(::windows::runtime::IInspectable);
25868 unsafe impl ::windows::runtime::Interface for IVector3NaturalMotionAnimationFactory {
25869     type Vtable = IVector3NaturalMotionAnimationFactory_abi;
25870     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(564665647, 2176, 17787, [172, 135, 182, 9, 1, 140, 135, 109]);
25871 }
25872 #[repr(C)]
25873 #[doc(hidden)]
25874 pub struct IVector3NaturalMotionAnimationFactory_abi(
25875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25881 );
25882 #[repr(transparent)]
25883 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25884 #[doc(hidden)]
25885 pub struct IVector4KeyFrameAnimation(::windows::runtime::IInspectable);
25886 unsafe impl ::windows::runtime::Interface for IVector4KeyFrameAnimation {
25887     type Vtable = IVector4KeyFrameAnimation_abi;
25888     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(609719387, 44509, 17285, [150, 6, 182, 163, 213, 228, 225, 185]);
25889 }
25890 #[repr(C)]
25891 #[doc(hidden)]
25892 pub struct IVector4KeyFrameAnimation_abi(
25893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25899     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector4) -> ::windows::runtime::HRESULT,
25900     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25901     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, normalizedprogresskey: f32, value: super::super::Foundation::Numerics::Vector4, easingfunction: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25902     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25903 );
25904 #[repr(transparent)]
25905 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25906 #[doc(hidden)]
25907 pub struct IVisual(::windows::runtime::IInspectable);
25908 unsafe impl ::windows::runtime::Interface for IVisual {
25909     type Vtable = IVisual_abi;
25910     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(293478445, 43097, 19593, [135, 59, 194, 170, 86, 103, 136, 227]);
25911 }
25912 #[repr(C)]
25913 #[doc(hidden)]
25914 pub struct IVisual_abi(
25915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25921     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25922     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25923     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25924     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionBackfaceVisibility) -> ::windows::runtime::HRESULT,
25926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionBackfaceVisibility) -> ::windows::runtime::HRESULT,
25927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionBorderMode) -> ::windows::runtime::HRESULT,
25928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionBorderMode) -> ::windows::runtime::HRESULT,
25929     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25930     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25931     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25932     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CompositionCompositeMode) -> ::windows::runtime::HRESULT,
25936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CompositionCompositeMode) -> ::windows::runtime::HRESULT,
25937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
25938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
25939     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25940     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25941     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25942     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25945     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::HRESULT,
25946     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25947     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::HRESULT,
25948     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
25953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
25954     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25955     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25956     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25957     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25958     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25959     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25960     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25961     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25962     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25963     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25964     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25965     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25966     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Matrix4x4) -> ::windows::runtime::HRESULT,
25967     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25968     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::runtime::HRESULT,
25969     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25970 );
25971 #[repr(transparent)]
25972 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25973 #[doc(hidden)]
25974 pub struct IVisual2(::windows::runtime::IInspectable);
25975 unsafe impl ::windows::runtime::Interface for IVisual2 {
25976     type Vtable = IVisual2_abi;
25977     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(810726929, 22211, 19518, [139, 243, 246, 225, 173, 71, 63, 6]);
25978 }
25979 #[repr(C)]
25980 #[doc(hidden)]
25981 pub struct IVisual2_abi(
25982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
25985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
25986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
25988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
25990     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25991     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25992     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector3) -> ::windows::runtime::HRESULT,
25993     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25994     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25995     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25996     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Vector2) -> ::windows::runtime::HRESULT,
25997     #[cfg(not(feature = "Foundation_Numerics"))] usize,
25998 );
25999 #[repr(transparent)]
26000 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26001 #[doc(hidden)]
26002 pub struct IVisual3(::windows::runtime::IInspectable);
26003 unsafe impl ::windows::runtime::Interface for IVisual3 {
26004     type Vtable = IVisual3_abi;
26005     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(817780749, 62646, 19127, [128, 221, 55, 56, 203, 172, 159, 44]);
26006 }
26007 #[repr(C)]
26008 #[doc(hidden)]
26009 pub struct IVisual3_abi(
26010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26013     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
26014     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
26016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
26017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
26018 );
26019 #[repr(transparent)]
26020 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26021 #[doc(hidden)]
26022 pub struct IVisual4(::windows::runtime::IInspectable);
26023 unsafe impl ::windows::runtime::Interface for IVisual4 {
26024     type Vtable = IVisual4_abi;
26025     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2490810129, 57931, 23545, [158, 190, 98, 116, 16, 155, 39, 17]);
26026 }
26027 #[repr(C)]
26028 #[doc(hidden)]
26029 pub struct IVisual4_abi(
26030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
26034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
26036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
26037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
26038 );
26039 #[repr(transparent)]
26040 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26041 #[doc(hidden)]
26042 pub struct IVisualCollection(::windows::runtime::IInspectable);
26043 unsafe impl ::windows::runtime::Interface for IVisualCollection {
26044     type Vtable = IVisualCollection_abi;
26045     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2339656965, 64830, 19096, [132, 168, 233, 73, 70, 140, 107, 203]);
26046 }
26047 #[repr(C)]
26048 #[doc(hidden)]
26049 pub struct IVisualCollection_abi(
26050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
26054     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
26056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
26057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newchild: ::windows::runtime::RawPtr, sibling: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newchild: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newchild: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newchild: ::windows::runtime::RawPtr, sibling: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, child: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26063 );
26064 #[repr(transparent)]
26065 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26066 pub struct IVisualElement(::windows::runtime::IInspectable);
26067 unsafe impl ::windows::runtime::Interface for IVisualElement {
26068     type Vtable = IVisualElement_abi;
26069     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(31868434, 7554, 17140, [142, 63, 167, 34, 222, 211, 63, 199]);
26070 }
26071 impl IVisualElement {}
26072 unsafe impl ::windows::runtime::RuntimeType for IVisualElement {
26073     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{01e64612-1d82-42f4-8e3f-a722ded33fc7}");
26074 }
26075 impl ::std::convert::From<IVisualElement> for ::windows::runtime::IUnknown {
from(value: IVisualElement) -> Self26076     fn from(value: IVisualElement) -> Self {
26077         unsafe { ::std::mem::transmute(value) }
26078     }
26079 }
26080 impl ::std::convert::From<&IVisualElement> for ::windows::runtime::IUnknown {
from(value: &IVisualElement) -> Self26081     fn from(value: &IVisualElement) -> Self {
26082         ::std::convert::From::from(::std::clone::Clone::clone(value))
26083     }
26084 }
26085 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IVisualElement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26086     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26087         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26088     }
26089 }
26090 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IVisualElement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26091     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26092         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26093     }
26094 }
26095 impl ::std::convert::From<IVisualElement> for ::windows::runtime::IInspectable {
from(value: IVisualElement) -> Self26096     fn from(value: IVisualElement) -> Self {
26097         value.0
26098     }
26099 }
26100 impl ::std::convert::From<&IVisualElement> for ::windows::runtime::IInspectable {
from(value: &IVisualElement) -> Self26101     fn from(value: &IVisualElement) -> Self {
26102         value.0.clone()
26103     }
26104 }
26105 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IVisualElement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>26106     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
26107         ::windows::runtime::Param::Owned(self.0)
26108     }
26109 }
26110 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IVisualElement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>26111     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
26112         ::windows::runtime::Param::Borrowed(&self.0)
26113     }
26114 }
26115 #[repr(C)]
26116 #[doc(hidden)]
26117 pub struct IVisualElement_abi(
26118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
26122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
26124 );
26125 #[repr(transparent)]
26126 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26127 pub struct IVisualElement2(::windows::runtime::IInspectable);
26128 unsafe impl ::windows::runtime::Interface for IVisualElement2 {
26129     type Vtable = IVisualElement2_abi;
26130     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2570774688, 24663, 24128, [145, 140, 224, 110, 11, 126, 124, 100]);
26131 }
26132 impl IVisualElement2 {
GetVisualInternal(&self) -> ::windows::runtime::Result<Visual>26133     pub fn GetVisualInternal(&self) -> ::windows::runtime::Result<Visual> {
26134         let this = self;
26135         unsafe {
26136             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26137             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
26138         }
26139     }
26140 }
26141 unsafe impl ::windows::runtime::RuntimeType for IVisualElement2 {
26142     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{993ae8a0-6057-5e40-918c-e06e0b7e7c64}");
26143 }
26144 impl ::std::convert::From<IVisualElement2> for ::windows::runtime::IUnknown {
from(value: IVisualElement2) -> Self26145     fn from(value: IVisualElement2) -> Self {
26146         unsafe { ::std::mem::transmute(value) }
26147     }
26148 }
26149 impl ::std::convert::From<&IVisualElement2> for ::windows::runtime::IUnknown {
from(value: &IVisualElement2) -> Self26150     fn from(value: &IVisualElement2) -> Self {
26151         ::std::convert::From::from(::std::clone::Clone::clone(value))
26152     }
26153 }
26154 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IVisualElement2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26155     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26156         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26157     }
26158 }
26159 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IVisualElement2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26160     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26161         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26162     }
26163 }
26164 impl ::std::convert::From<IVisualElement2> for ::windows::runtime::IInspectable {
from(value: IVisualElement2) -> Self26165     fn from(value: IVisualElement2) -> Self {
26166         value.0
26167     }
26168 }
26169 impl ::std::convert::From<&IVisualElement2> for ::windows::runtime::IInspectable {
from(value: &IVisualElement2) -> Self26170     fn from(value: &IVisualElement2) -> Self {
26171         value.0.clone()
26172     }
26173 }
26174 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IVisualElement2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>26175     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
26176         ::windows::runtime::Param::Owned(self.0)
26177     }
26178 }
26179 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IVisualElement2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>26180     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
26181         ::windows::runtime::Param::Borrowed(&self.0)
26182     }
26183 }
26184 #[repr(C)]
26185 #[doc(hidden)]
26186 pub struct IVisualElement2_abi(
26187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
26191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
26193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26194 );
26195 #[repr(transparent)]
26196 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26197 #[doc(hidden)]
26198 pub struct IVisualFactory(::windows::runtime::IInspectable);
26199 unsafe impl ::windows::runtime::Interface for IVisualFactory {
26200     type Vtable = IVisualFactory_abi;
26201     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2903505214, 46338, 20149, [135, 180, 154, 56, 167, 29, 1, 55]);
26202 }
26203 #[repr(C)]
26204 #[doc(hidden)]
26205 pub struct IVisualFactory_abi(
26206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
26210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
26212 );
26213 #[repr(transparent)]
26214 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26215 #[doc(hidden)]
26216 pub struct IVisualUnorderedCollection(::windows::runtime::IInspectable);
26217 unsafe impl ::windows::runtime::Interface for IVisualUnorderedCollection {
26218     type Vtable = IVisualUnorderedCollection_abi;
26219     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(865053296, 21704, 16551, [128, 41, 201, 206, 235, 10, 162, 80]);
26220 }
26221 #[repr(C)]
26222 #[doc(hidden)]
26223 pub struct IVisualUnorderedCollection_abi(
26224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
26227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
26228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
26230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
26231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newvisual: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, visual: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
26234 );
26235 #[repr(transparent)]
26236 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26237 pub struct ImplicitAnimationCollection(::windows::runtime::IInspectable);
26238 impl ImplicitAnimationCollection {
26239     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>>26240     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>> {
26241         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>>(self)?;
26242         unsafe {
26243             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26244             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>>(result__)
26245         }
26246     }
26247     #[cfg(feature = "Foundation_Collections")]
Lookup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<ICompositionAnimationBase>26248     pub fn Lookup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<ICompositionAnimationBase> {
26249         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>(self)?;
26250         unsafe {
26251             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26252             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), &mut result__).from_abi::<ICompositionAnimationBase>(result__)
26253         }
26254     }
26255     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>26256     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
26257         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>(self)?;
26258         unsafe {
26259             let mut result__: u32 = ::std::mem::zeroed();
26260             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
26261         }
26262     }
26263     #[cfg(feature = "Foundation_Collections")]
HasKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<bool>26264     pub fn HasKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<bool> {
26265         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>(self)?;
26266         unsafe {
26267             let mut result__: bool = ::std::mem::zeroed();
26268             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), &mut result__).from_abi::<bool>(result__)
26269         }
26270     }
26271     #[cfg(feature = "Foundation_Collections")]
GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ICompositionAnimationBase>>26272     pub fn GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ICompositionAnimationBase>> {
26273         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>(self)?;
26274         unsafe {
26275             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26276             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ICompositionAnimationBase>>(result__)
26277         }
26278     }
26279     #[cfg(feature = "Foundation_Collections")]
Insert<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<bool>26280     pub fn Insert<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<bool> {
26281         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>(self)?;
26282         unsafe {
26283             let mut result__: bool = ::std::mem::zeroed();
26284             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi(), &mut result__).from_abi::<bool>(result__)
26285         }
26286     }
26287     #[cfg(feature = "Foundation_Collections")]
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>26288     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
26289         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>(self)?;
26290         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
26291     }
26292     #[cfg(feature = "Foundation_Collections")]
Clear(&self) -> ::windows::runtime::Result<()>26293     pub fn Clear(&self) -> ::windows::runtime::Result<()> {
26294         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>(self)?;
26295         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
26296     }
26297     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>26298     pub fn Close(&self) -> ::windows::runtime::Result<()> {
26299         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
26300         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
26301     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>26302     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
26303         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26304         unsafe {
26305             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26306             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
26307         }
26308     }
26309     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>26310     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
26311         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26312         unsafe {
26313             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26314             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
26315         }
26316     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>26317     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
26318         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26319         unsafe {
26320             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26321             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
26322         }
26323     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>26324     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
26325         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26326         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
26327     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>26328     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
26329         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26330         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
26331     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>26332     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
26333         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26334         unsafe {
26335             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
26336             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
26337         }
26338     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>26339     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
26340         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26341         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
26342     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>26343     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
26344         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26345         unsafe {
26346             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26347             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
26348         }
26349     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>26350     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
26351         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26352         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
26353     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>26354     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
26355         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26356         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
26357     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>26358     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
26359         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26360         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
26361     }
26362     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>26363     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
26364         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
26365         unsafe {
26366             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26367             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
26368         }
26369     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>26370     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
26371         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
26372         unsafe {
26373             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26374             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
26375         }
26376     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>26377     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
26378         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
26379         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
26380     }
26381 }
26382 unsafe impl ::windows::runtime::RuntimeType for ImplicitAnimationCollection {
26383     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ImplicitAnimationCollection;{0598a3ff-0a92-4c9d-a427-b25519250dbf})");
26384 }
26385 unsafe impl ::windows::runtime::Interface for ImplicitAnimationCollection {
26386     type Vtable = IImplicitAnimationCollection_abi;
26387     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(93889535, 2706, 19613, [164, 39, 178, 85, 25, 37, 13, 191]);
26388 }
26389 impl ::windows::runtime::RuntimeName for ImplicitAnimationCollection {
26390     const NAME: &'static str = "Windows.UI.Composition.ImplicitAnimationCollection";
26391 }
26392 impl ::std::convert::From<ImplicitAnimationCollection> for ::windows::runtime::IUnknown {
from(value: ImplicitAnimationCollection) -> Self26393     fn from(value: ImplicitAnimationCollection) -> Self {
26394         unsafe { ::std::mem::transmute(value) }
26395     }
26396 }
26397 impl ::std::convert::From<&ImplicitAnimationCollection> for ::windows::runtime::IUnknown {
from(value: &ImplicitAnimationCollection) -> Self26398     fn from(value: &ImplicitAnimationCollection) -> Self {
26399         ::std::convert::From::from(::std::clone::Clone::clone(value))
26400     }
26401 }
26402 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26403     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26404         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26405     }
26406 }
26407 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26408     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26409         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26410     }
26411 }
26412 impl ::std::convert::From<ImplicitAnimationCollection> for ::windows::runtime::IInspectable {
from(value: ImplicitAnimationCollection) -> Self26413     fn from(value: ImplicitAnimationCollection) -> Self {
26414         value.0
26415     }
26416 }
26417 impl ::std::convert::From<&ImplicitAnimationCollection> for ::windows::runtime::IInspectable {
from(value: &ImplicitAnimationCollection) -> Self26418     fn from(value: &ImplicitAnimationCollection) -> Self {
26419         value.0.clone()
26420     }
26421 }
26422 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>26423     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
26424         ::windows::runtime::Param::Owned(self.0)
26425     }
26426 }
26427 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>26428     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
26429         ::windows::runtime::Param::Borrowed(&self.0)
26430     }
26431 }
26432 #[cfg(feature = "Foundation_Collections")]
26433 impl ::std::convert::TryFrom<ImplicitAnimationCollection> for super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>> {
26434     type Error = ::windows::runtime::Error;
try_from(value: ImplicitAnimationCollection) -> ::windows::runtime::Result<Self>26435     fn try_from(value: ImplicitAnimationCollection) -> ::windows::runtime::Result<Self> {
26436         ::std::convert::TryFrom::try_from(&value)
26437     }
26438 }
26439 #[cfg(feature = "Foundation_Collections")]
26440 impl ::std::convert::TryFrom<&ImplicitAnimationCollection> for super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>> {
26441     type Error = ::windows::runtime::Error;
try_from(value: &ImplicitAnimationCollection) -> ::windows::runtime::Result<Self>26442     fn try_from(value: &ImplicitAnimationCollection) -> ::windows::runtime::Result<Self> {
26443         ::windows::runtime::Interface::cast(value)
26444     }
26445 }
26446 #[cfg(feature = "Foundation_Collections")]
26447 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>> for ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>>26448     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>> {
26449         ::windows::runtime::IntoParam::into_param(&self)
26450     }
26451 }
26452 #[cfg(feature = "Foundation_Collections")]
26453 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>> for &ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>>26454     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>> {
26455         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
26456     }
26457 }
26458 #[cfg(feature = "Foundation_Collections")]
26459 impl ::std::convert::TryFrom<ImplicitAnimationCollection> for super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase> {
26460     type Error = ::windows::runtime::Error;
try_from(value: ImplicitAnimationCollection) -> ::windows::runtime::Result<Self>26461     fn try_from(value: ImplicitAnimationCollection) -> ::windows::runtime::Result<Self> {
26462         ::std::convert::TryFrom::try_from(&value)
26463     }
26464 }
26465 #[cfg(feature = "Foundation_Collections")]
26466 impl ::std::convert::TryFrom<&ImplicitAnimationCollection> for super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase> {
26467     type Error = ::windows::runtime::Error;
try_from(value: &ImplicitAnimationCollection) -> ::windows::runtime::Result<Self>26468     fn try_from(value: &ImplicitAnimationCollection) -> ::windows::runtime::Result<Self> {
26469         ::windows::runtime::Interface::cast(value)
26470     }
26471 }
26472 #[cfg(feature = "Foundation_Collections")]
26473 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>> for ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>26474     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>> {
26475         ::windows::runtime::IntoParam::into_param(&self)
26476     }
26477 }
26478 #[cfg(feature = "Foundation_Collections")]
26479 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>> for &ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>26480     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>> {
26481         ::std::convert::TryInto::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ICompositionAnimationBase>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
26482     }
26483 }
26484 #[cfg(feature = "Foundation")]
26485 impl ::std::convert::TryFrom<ImplicitAnimationCollection> for super::super::Foundation::IClosable {
26486     type Error = ::windows::runtime::Error;
try_from(value: ImplicitAnimationCollection) -> ::windows::runtime::Result<Self>26487     fn try_from(value: ImplicitAnimationCollection) -> ::windows::runtime::Result<Self> {
26488         ::std::convert::TryFrom::try_from(&value)
26489     }
26490 }
26491 #[cfg(feature = "Foundation")]
26492 impl ::std::convert::TryFrom<&ImplicitAnimationCollection> for super::super::Foundation::IClosable {
26493     type Error = ::windows::runtime::Error;
try_from(value: &ImplicitAnimationCollection) -> ::windows::runtime::Result<Self>26494     fn try_from(value: &ImplicitAnimationCollection) -> ::windows::runtime::Result<Self> {
26495         ::windows::runtime::Interface::cast(value)
26496     }
26497 }
26498 #[cfg(feature = "Foundation")]
26499 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>26500     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
26501         ::windows::runtime::IntoParam::into_param(&self)
26502     }
26503 }
26504 #[cfg(feature = "Foundation")]
26505 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>26506     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
26507         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
26508     }
26509 }
26510 impl ::std::convert::TryFrom<ImplicitAnimationCollection> for IAnimationObject {
26511     type Error = ::windows::runtime::Error;
try_from(value: ImplicitAnimationCollection) -> ::windows::runtime::Result<Self>26512     fn try_from(value: ImplicitAnimationCollection) -> ::windows::runtime::Result<Self> {
26513         ::std::convert::TryFrom::try_from(&value)
26514     }
26515 }
26516 impl ::std::convert::TryFrom<&ImplicitAnimationCollection> for IAnimationObject {
26517     type Error = ::windows::runtime::Error;
try_from(value: &ImplicitAnimationCollection) -> ::windows::runtime::Result<Self>26518     fn try_from(value: &ImplicitAnimationCollection) -> ::windows::runtime::Result<Self> {
26519         ::windows::runtime::Interface::cast(value)
26520     }
26521 }
26522 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>26523     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
26524         ::windows::runtime::IntoParam::into_param(&self)
26525     }
26526 }
26527 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>26528     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
26529         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
26530     }
26531 }
26532 impl ::std::convert::From<ImplicitAnimationCollection> for CompositionObject {
from(value: ImplicitAnimationCollection) -> Self26533     fn from(value: ImplicitAnimationCollection) -> Self {
26534         ::std::convert::Into::<CompositionObject>::into(&value)
26535     }
26536 }
26537 impl ::std::convert::From<&ImplicitAnimationCollection> for CompositionObject {
from(value: &ImplicitAnimationCollection) -> Self26538     fn from(value: &ImplicitAnimationCollection) -> Self {
26539         ::windows::runtime::Interface::cast(value).unwrap()
26540     }
26541 }
26542 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>26543     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
26544         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
26545     }
26546 }
26547 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &ImplicitAnimationCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>26548     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
26549         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
26550     }
26551 }
26552 unsafe impl ::std::marker::Send for ImplicitAnimationCollection {}
26553 unsafe impl ::std::marker::Sync for ImplicitAnimationCollection {}
26554 #[cfg(all(feature = "Foundation_Collections"))]
26555 impl ::std::iter::IntoIterator for ImplicitAnimationCollection {
26556     type Item = super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>;
26557     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter26558     fn into_iter(self) -> Self::IntoIter {
26559         ::std::iter::IntoIterator::into_iter(&self)
26560     }
26561 }
26562 #[cfg(all(feature = "Foundation_Collections"))]
26563 impl ::std::iter::IntoIterator for &ImplicitAnimationCollection {
26564     type Item = super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ICompositionAnimationBase>;
26565     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter26566     fn into_iter(self) -> Self::IntoIter {
26567         self.First().unwrap()
26568     }
26569 }
26570 #[cfg(feature = "Foundation_Collections")]
26571 #[repr(transparent)]
26572 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26573 pub struct InitialValueExpressionCollection(::windows::runtime::IInspectable);
26574 #[cfg(feature = "Foundation_Collections")]
26575 impl InitialValueExpressionCollection {
26576     #[cfg(feature = "Foundation_Collections")]
Lookup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING>26577     pub fn Lookup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
26578         let this = self;
26579         unsafe {
26580             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
26581             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
26582         }
26583     }
26584     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>26585     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
26586         let this = self;
26587         unsafe {
26588             let mut result__: u32 = ::std::mem::zeroed();
26589             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
26590         }
26591     }
26592     #[cfg(feature = "Foundation_Collections")]
HasKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<bool>26593     pub fn HasKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<bool> {
26594         let this = self;
26595         unsafe {
26596             let mut result__: bool = ::std::mem::zeroed();
26597             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), &mut result__).from_abi::<bool>(result__)
26598         }
26599     }
26600     #[cfg(feature = "Foundation_Collections")]
GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>26601     pub fn GetView(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
26602         let this = self;
26603         unsafe {
26604             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26605             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>(result__)
26606         }
26607     }
26608     #[cfg(feature = "Foundation_Collections")]
Insert<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<bool>26609     pub fn Insert<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<bool> {
26610         let this = self;
26611         unsafe {
26612             let mut result__: bool = ::std::mem::zeroed();
26613             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi(), &mut result__).from_abi::<bool>(result__)
26614         }
26615     }
26616     #[cfg(feature = "Foundation_Collections")]
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>26617     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
26618         let this = self;
26619         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
26620     }
26621     #[cfg(feature = "Foundation_Collections")]
Clear(&self) -> ::windows::runtime::Result<()>26622     pub fn Clear(&self) -> ::windows::runtime::Result<()> {
26623         let this = self;
26624         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
26625     }
26626     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>>26627     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>> {
26628         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>>(self)?;
26629         unsafe {
26630             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26631             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>>(result__)
26632         }
26633     }
26634     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>26635     pub fn Close(&self) -> ::windows::runtime::Result<()> {
26636         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
26637         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
26638     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>26639     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
26640         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26641         unsafe {
26642             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26643             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
26644         }
26645     }
26646     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>26647     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
26648         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26649         unsafe {
26650             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26651             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
26652         }
26653     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>26654     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
26655         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26656         unsafe {
26657             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26658             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
26659         }
26660     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>26661     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
26662         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26663         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
26664     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>26665     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
26666         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
26667         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
26668     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>26669     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
26670         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26671         unsafe {
26672             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
26673             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
26674         }
26675     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>26676     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
26677         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26678         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
26679     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>26680     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
26681         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26682         unsafe {
26683             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26684             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
26685         }
26686     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>26687     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
26688         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26689         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
26690     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>26691     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
26692         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26693         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
26694     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>26695     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
26696         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
26697         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
26698     }
26699     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>26700     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
26701         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
26702         unsafe {
26703             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26704             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
26705         }
26706     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>26707     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
26708         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
26709         unsafe {
26710             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
26711             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
26712         }
26713     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>26714     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
26715         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
26716         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
26717     }
26718 }
26719 #[cfg(feature = "Foundation_Collections")]
26720 unsafe impl ::windows::runtime::RuntimeType for InitialValueExpressionCollection {
26721     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.InitialValueExpressionCollection;pinterface({3c2925fe-8519-45c1-aa79-197b6718c1c1};string;string))");
26722 }
26723 #[cfg(feature = "Foundation_Collections")]
26724 unsafe impl ::windows::runtime::Interface for InitialValueExpressionCollection {
26725     type Vtable = super::super::Foundation::Collections::IMap_abi<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>;
26726     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_signature(<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING> as ::windows::runtime::RuntimeType>::SIGNATURE);
26727 }
26728 #[cfg(feature = "Foundation_Collections")]
26729 impl ::windows::runtime::RuntimeName for InitialValueExpressionCollection {
26730     const NAME: &'static str = "Windows.UI.Composition.InitialValueExpressionCollection";
26731 }
26732 #[cfg(feature = "Foundation_Collections")]
26733 impl ::std::convert::From<InitialValueExpressionCollection> for ::windows::runtime::IUnknown {
from(value: InitialValueExpressionCollection) -> Self26734     fn from(value: InitialValueExpressionCollection) -> Self {
26735         unsafe { ::std::mem::transmute(value) }
26736     }
26737 }
26738 #[cfg(feature = "Foundation_Collections")]
26739 impl ::std::convert::From<&InitialValueExpressionCollection> for ::windows::runtime::IUnknown {
from(value: &InitialValueExpressionCollection) -> Self26740     fn from(value: &InitialValueExpressionCollection) -> Self {
26741         ::std::convert::From::from(::std::clone::Clone::clone(value))
26742     }
26743 }
26744 #[cfg(feature = "Foundation_Collections")]
26745 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26746     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26747         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
26748     }
26749 }
26750 #[cfg(feature = "Foundation_Collections")]
26751 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>26752     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
26753         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
26754     }
26755 }
26756 #[cfg(feature = "Foundation_Collections")]
26757 impl ::std::convert::From<InitialValueExpressionCollection> for ::windows::runtime::IInspectable {
from(value: InitialValueExpressionCollection) -> Self26758     fn from(value: InitialValueExpressionCollection) -> Self {
26759         value.0
26760     }
26761 }
26762 #[cfg(feature = "Foundation_Collections")]
26763 impl ::std::convert::From<&InitialValueExpressionCollection> for ::windows::runtime::IInspectable {
from(value: &InitialValueExpressionCollection) -> Self26764     fn from(value: &InitialValueExpressionCollection) -> Self {
26765         value.0.clone()
26766     }
26767 }
26768 #[cfg(feature = "Foundation_Collections")]
26769 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>26770     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
26771         ::windows::runtime::Param::Owned(self.0)
26772     }
26773 }
26774 #[cfg(feature = "Foundation_Collections")]
26775 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>26776     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
26777         ::windows::runtime::Param::Borrowed(&self.0)
26778     }
26779 }
26780 #[cfg(feature = "Foundation_Collections")]
26781 impl ::std::convert::From<InitialValueExpressionCollection> for super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING> {
from(value: InitialValueExpressionCollection) -> Self26782     fn from(value: InitialValueExpressionCollection) -> Self {
26783         unsafe { ::std::mem::transmute(value) }
26784     }
26785 }
26786 #[cfg(feature = "Foundation_Collections")]
26787 impl ::std::convert::From<&InitialValueExpressionCollection> for super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING> {
from(value: &InitialValueExpressionCollection) -> Self26788     fn from(value: &InitialValueExpressionCollection) -> Self {
26789         ::std::convert::From::from(::std::clone::Clone::clone(value))
26790     }
26791 }
26792 #[cfg(feature = "Foundation_Collections")]
26793 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> for InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>26794     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
26795         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>::into(self))
26796     }
26797 }
26798 #[cfg(feature = "Foundation_Collections")]
26799 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> for &InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>26800     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
26801         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>::into(::std::clone::Clone::clone(self)))
26802     }
26803 }
26804 #[cfg(feature = "Foundation_Collections")]
26805 impl ::std::convert::TryFrom<InitialValueExpressionCollection> for super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
26806     type Error = ::windows::runtime::Error;
try_from(value: InitialValueExpressionCollection) -> ::windows::runtime::Result<Self>26807     fn try_from(value: InitialValueExpressionCollection) -> ::windows::runtime::Result<Self> {
26808         ::std::convert::TryFrom::try_from(&value)
26809     }
26810 }
26811 #[cfg(feature = "Foundation_Collections")]
26812 impl ::std::convert::TryFrom<&InitialValueExpressionCollection> for super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>> {
26813     type Error = ::windows::runtime::Error;
try_from(value: &InitialValueExpressionCollection) -> ::windows::runtime::Result<Self>26814     fn try_from(value: &InitialValueExpressionCollection) -> ::windows::runtime::Result<Self> {
26815         ::windows::runtime::Interface::cast(value)
26816     }
26817 }
26818 #[cfg(feature = "Foundation_Collections")]
26819 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>> for InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>>26820     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>> {
26821         ::windows::runtime::IntoParam::into_param(&self)
26822     }
26823 }
26824 #[cfg(feature = "Foundation_Collections")]
26825 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>> for &InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>>26826     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>> {
26827         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
26828     }
26829 }
26830 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
26831 impl ::std::convert::TryFrom<InitialValueExpressionCollection> for super::super::Foundation::IClosable {
26832     type Error = ::windows::runtime::Error;
try_from(value: InitialValueExpressionCollection) -> ::windows::runtime::Result<Self>26833     fn try_from(value: InitialValueExpressionCollection) -> ::windows::runtime::Result<Self> {
26834         ::std::convert::TryFrom::try_from(&value)
26835     }
26836 }
26837 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
26838 impl ::std::convert::TryFrom<&InitialValueExpressionCollection> for super::super::Foundation::IClosable {
26839     type Error = ::windows::runtime::Error;
try_from(value: &InitialValueExpressionCollection) -> ::windows::runtime::Result<Self>26840     fn try_from(value: &InitialValueExpressionCollection) -> ::windows::runtime::Result<Self> {
26841         ::windows::runtime::Interface::cast(value)
26842     }
26843 }
26844 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
26845 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>26846     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
26847         ::windows::runtime::IntoParam::into_param(&self)
26848     }
26849 }
26850 #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
26851 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>26852     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
26853         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
26854     }
26855 }
26856 #[cfg(feature = "Foundation_Collections")]
26857 impl ::std::convert::TryFrom<InitialValueExpressionCollection> for IAnimationObject {
26858     type Error = ::windows::runtime::Error;
try_from(value: InitialValueExpressionCollection) -> ::windows::runtime::Result<Self>26859     fn try_from(value: InitialValueExpressionCollection) -> ::windows::runtime::Result<Self> {
26860         ::std::convert::TryFrom::try_from(&value)
26861     }
26862 }
26863 #[cfg(feature = "Foundation_Collections")]
26864 impl ::std::convert::TryFrom<&InitialValueExpressionCollection> for IAnimationObject {
26865     type Error = ::windows::runtime::Error;
try_from(value: &InitialValueExpressionCollection) -> ::windows::runtime::Result<Self>26866     fn try_from(value: &InitialValueExpressionCollection) -> ::windows::runtime::Result<Self> {
26867         ::windows::runtime::Interface::cast(value)
26868     }
26869 }
26870 #[cfg(feature = "Foundation_Collections")]
26871 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>26872     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
26873         ::windows::runtime::IntoParam::into_param(&self)
26874     }
26875 }
26876 #[cfg(feature = "Foundation_Collections")]
26877 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>26878     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
26879         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
26880     }
26881 }
26882 #[cfg(feature = "Foundation_Collections")]
26883 impl ::std::convert::From<InitialValueExpressionCollection> for CompositionObject {
from(value: InitialValueExpressionCollection) -> Self26884     fn from(value: InitialValueExpressionCollection) -> Self {
26885         ::std::convert::Into::<CompositionObject>::into(&value)
26886     }
26887 }
26888 #[cfg(feature = "Foundation_Collections")]
26889 impl ::std::convert::From<&InitialValueExpressionCollection> for CompositionObject {
from(value: &InitialValueExpressionCollection) -> Self26890     fn from(value: &InitialValueExpressionCollection) -> Self {
26891         ::windows::runtime::Interface::cast(value).unwrap()
26892     }
26893 }
26894 #[cfg(feature = "Foundation_Collections")]
26895 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>26896     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
26897         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
26898     }
26899 }
26900 #[cfg(feature = "Foundation_Collections")]
26901 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &InitialValueExpressionCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>26902     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
26903         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
26904     }
26905 }
26906 #[cfg(feature = "Foundation_Collections")]
26907 unsafe impl ::std::marker::Send for InitialValueExpressionCollection {}
26908 #[cfg(feature = "Foundation_Collections")]
26909 unsafe impl ::std::marker::Sync for InitialValueExpressionCollection {}
26910 #[cfg(all(feature = "Foundation_Collections"))]
26911 impl ::std::iter::IntoIterator for InitialValueExpressionCollection {
26912     type Item = super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>;
26913     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter26914     fn into_iter(self) -> Self::IntoIter {
26915         ::std::iter::IntoIterator::into_iter(&self)
26916     }
26917 }
26918 #[cfg(all(feature = "Foundation_Collections"))]
26919 impl ::std::iter::IntoIterator for &InitialValueExpressionCollection {
26920     type Item = super::super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>;
26921     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter26922     fn into_iter(self) -> Self::IntoIter {
26923         self.First().unwrap()
26924     }
26925 }
26926 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
26927 #[repr(C)]
26928 #[cfg(feature = "Foundation")]
26929 pub struct InkTrailPoint {
26930     pub Point: super::super::Foundation::Point,
26931     pub Radius: f32,
26932 }
26933 #[cfg(feature = "Foundation")]
26934 impl InkTrailPoint {}
26935 #[cfg(feature = "Foundation")]
26936 impl ::std::default::Default for InkTrailPoint {
default() -> Self26937     fn default() -> Self {
26938         unsafe { ::std::mem::zeroed() }
26939     }
26940 }
26941 #[cfg(feature = "Foundation")]
26942 impl ::std::fmt::Debug for InkTrailPoint {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result26943     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
26944         fmt.debug_struct("InkTrailPoint").field("Point", &self.Point).field("Radius", &self.Radius).finish()
26945     }
26946 }
26947 #[cfg(feature = "Foundation")]
26948 impl ::std::cmp::PartialEq for InkTrailPoint {
eq(&self, other: &Self) -> bool26949     fn eq(&self, other: &Self) -> bool {
26950         self.Point == other.Point && self.Radius == other.Radius
26951     }
26952 }
26953 #[cfg(feature = "Foundation")]
26954 impl ::std::cmp::Eq for InkTrailPoint {}
26955 #[cfg(feature = "Foundation")]
26956 unsafe impl ::windows::runtime::Abi for InkTrailPoint {
26957     type Abi = Self;
26958     type DefaultType = Self;
26959 }
26960 #[cfg(feature = "Foundation")]
26961 unsafe impl ::windows::runtime::RuntimeType for InkTrailPoint {
26962     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.UI.Composition.InkTrailPoint;struct(Windows.Foundation.Point;f4;f4);f4)");
26963 }
26964 #[repr(transparent)]
26965 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
26966 pub struct InsetClip(::windows::runtime::IInspectable);
26967 impl InsetClip {
BottomInset(&self) -> ::windows::runtime::Result<f32>26968     pub fn BottomInset(&self) -> ::windows::runtime::Result<f32> {
26969         let this = self;
26970         unsafe {
26971             let mut result__: f32 = ::std::mem::zeroed();
26972             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
26973         }
26974     }
SetBottomInset(&self, value: f32) -> ::windows::runtime::Result<()>26975     pub fn SetBottomInset(&self, value: f32) -> ::windows::runtime::Result<()> {
26976         let this = self;
26977         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
26978     }
LeftInset(&self) -> ::windows::runtime::Result<f32>26979     pub fn LeftInset(&self) -> ::windows::runtime::Result<f32> {
26980         let this = self;
26981         unsafe {
26982             let mut result__: f32 = ::std::mem::zeroed();
26983             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
26984         }
26985     }
SetLeftInset(&self, value: f32) -> ::windows::runtime::Result<()>26986     pub fn SetLeftInset(&self, value: f32) -> ::windows::runtime::Result<()> {
26987         let this = self;
26988         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
26989     }
RightInset(&self) -> ::windows::runtime::Result<f32>26990     pub fn RightInset(&self) -> ::windows::runtime::Result<f32> {
26991         let this = self;
26992         unsafe {
26993             let mut result__: f32 = ::std::mem::zeroed();
26994             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
26995         }
26996     }
SetRightInset(&self, value: f32) -> ::windows::runtime::Result<()>26997     pub fn SetRightInset(&self, value: f32) -> ::windows::runtime::Result<()> {
26998         let this = self;
26999         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
27000     }
TopInset(&self) -> ::windows::runtime::Result<f32>27001     pub fn TopInset(&self) -> ::windows::runtime::Result<f32> {
27002         let this = self;
27003         unsafe {
27004             let mut result__: f32 = ::std::mem::zeroed();
27005             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
27006         }
27007     }
SetTopInset(&self, value: f32) -> ::windows::runtime::Result<()>27008     pub fn SetTopInset(&self, value: f32) -> ::windows::runtime::Result<()> {
27009         let this = self;
27010         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
27011     }
27012     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>27013     pub fn Close(&self) -> ::windows::runtime::Result<()> {
27014         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
27015         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
27016     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>27017     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
27018         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27019         unsafe {
27020             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27021             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
27022         }
27023     }
27024     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>27025     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
27026         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27027         unsafe {
27028             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27029             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
27030         }
27031     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>27032     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
27033         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27034         unsafe {
27035             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27036             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
27037         }
27038     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>27039     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
27040         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27041         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
27042     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>27043     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
27044         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27045         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
27046     }
27047     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>27048     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
27049         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27050         unsafe {
27051             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
27052             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
27053         }
27054     }
27055     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>27056     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27057         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27058         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27059     }
27060     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>27061     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
27062         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27063         unsafe {
27064             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
27065             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
27066         }
27067     }
27068     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>27069     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27070         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27071         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27072     }
27073     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>27074     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
27075         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27076         unsafe {
27077             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
27078             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
27079         }
27080     }
27081     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>27082     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27083         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27084         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27085     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>27086     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
27087         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27088         unsafe {
27089             let mut result__: f32 = ::std::mem::zeroed();
27090             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
27091         }
27092     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>27093     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
27094         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27095         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
27096     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>27097     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
27098         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27099         unsafe {
27100             let mut result__: f32 = ::std::mem::zeroed();
27101             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
27102         }
27103     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>27104     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
27105         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27106         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
27107     }
27108     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>27109     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
27110         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27111         unsafe {
27112             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
27113             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
27114         }
27115     }
27116     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>27117     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27118         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27119         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27120     }
27121     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>27122     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
27123         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27124         unsafe {
27125             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
27126             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
27127         }
27128     }
27129     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>27130     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27131         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
27132         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27133     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>27134     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
27135         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27136         unsafe {
27137             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
27138             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
27139         }
27140     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>27141     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27142         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27143         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27144     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>27145     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
27146         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27147         unsafe {
27148             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27149             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
27150         }
27151     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>27152     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27153         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27154         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27155     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>27156     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27157         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27158         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27159     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>27160     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27161         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27162         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27163     }
27164     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>27165     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
27166         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
27167         unsafe {
27168             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27169             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
27170         }
27171     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>27172     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
27173         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
27174         unsafe {
27175             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27176             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
27177         }
27178     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>27179     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
27180         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
27181         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
27182     }
27183 }
27184 unsafe impl ::windows::runtime::RuntimeType for InsetClip {
27185     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.InsetClip;{1e73e647-84c7-477a-b474-5880e0442e15})");
27186 }
27187 unsafe impl ::windows::runtime::Interface for InsetClip {
27188     type Vtable = IInsetClip_abi;
27189     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(510912071, 33991, 18298, [180, 116, 88, 128, 224, 68, 46, 21]);
27190 }
27191 impl ::windows::runtime::RuntimeName for InsetClip {
27192     const NAME: &'static str = "Windows.UI.Composition.InsetClip";
27193 }
27194 impl ::std::convert::From<InsetClip> for ::windows::runtime::IUnknown {
from(value: InsetClip) -> Self27195     fn from(value: InsetClip) -> Self {
27196         unsafe { ::std::mem::transmute(value) }
27197     }
27198 }
27199 impl ::std::convert::From<&InsetClip> for ::windows::runtime::IUnknown {
from(value: &InsetClip) -> Self27200     fn from(value: &InsetClip) -> Self {
27201         ::std::convert::From::from(::std::clone::Clone::clone(value))
27202     }
27203 }
27204 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27205     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27206         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27207     }
27208 }
27209 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27210     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27211         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27212     }
27213 }
27214 impl ::std::convert::From<InsetClip> for ::windows::runtime::IInspectable {
from(value: InsetClip) -> Self27215     fn from(value: InsetClip) -> Self {
27216         value.0
27217     }
27218 }
27219 impl ::std::convert::From<&InsetClip> for ::windows::runtime::IInspectable {
from(value: &InsetClip) -> Self27220     fn from(value: &InsetClip) -> Self {
27221         value.0.clone()
27222     }
27223 }
27224 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>27225     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
27226         ::windows::runtime::Param::Owned(self.0)
27227     }
27228 }
27229 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>27230     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
27231         ::windows::runtime::Param::Borrowed(&self.0)
27232     }
27233 }
27234 #[cfg(feature = "Foundation")]
27235 impl ::std::convert::TryFrom<InsetClip> for super::super::Foundation::IClosable {
27236     type Error = ::windows::runtime::Error;
try_from(value: InsetClip) -> ::windows::runtime::Result<Self>27237     fn try_from(value: InsetClip) -> ::windows::runtime::Result<Self> {
27238         ::std::convert::TryFrom::try_from(&value)
27239     }
27240 }
27241 #[cfg(feature = "Foundation")]
27242 impl ::std::convert::TryFrom<&InsetClip> for super::super::Foundation::IClosable {
27243     type Error = ::windows::runtime::Error;
try_from(value: &InsetClip) -> ::windows::runtime::Result<Self>27244     fn try_from(value: &InsetClip) -> ::windows::runtime::Result<Self> {
27245         ::windows::runtime::Interface::cast(value)
27246     }
27247 }
27248 #[cfg(feature = "Foundation")]
27249 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>27250     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
27251         ::windows::runtime::IntoParam::into_param(&self)
27252     }
27253 }
27254 #[cfg(feature = "Foundation")]
27255 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>27256     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
27257         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
27258     }
27259 }
27260 impl ::std::convert::TryFrom<InsetClip> for IAnimationObject {
27261     type Error = ::windows::runtime::Error;
try_from(value: InsetClip) -> ::windows::runtime::Result<Self>27262     fn try_from(value: InsetClip) -> ::windows::runtime::Result<Self> {
27263         ::std::convert::TryFrom::try_from(&value)
27264     }
27265 }
27266 impl ::std::convert::TryFrom<&InsetClip> for IAnimationObject {
27267     type Error = ::windows::runtime::Error;
try_from(value: &InsetClip) -> ::windows::runtime::Result<Self>27268     fn try_from(value: &InsetClip) -> ::windows::runtime::Result<Self> {
27269         ::windows::runtime::Interface::cast(value)
27270     }
27271 }
27272 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>27273     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
27274         ::windows::runtime::IntoParam::into_param(&self)
27275     }
27276 }
27277 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>27278     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
27279         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
27280     }
27281 }
27282 impl ::std::convert::From<InsetClip> for CompositionClip {
from(value: InsetClip) -> Self27283     fn from(value: InsetClip) -> Self {
27284         ::std::convert::Into::<CompositionClip>::into(&value)
27285     }
27286 }
27287 impl ::std::convert::From<&InsetClip> for CompositionClip {
from(value: &InsetClip) -> Self27288     fn from(value: &InsetClip) -> Self {
27289         ::windows::runtime::Interface::cast(value).unwrap()
27290     }
27291 }
27292 impl<'a> ::windows::runtime::IntoParam<'a, CompositionClip> for InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionClip>27293     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionClip> {
27294         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionClip>::into(self))
27295     }
27296 }
27297 impl<'a> ::windows::runtime::IntoParam<'a, CompositionClip> for &InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionClip>27298     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionClip> {
27299         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionClip>::into(::std::clone::Clone::clone(self)))
27300     }
27301 }
27302 impl ::std::convert::From<InsetClip> for CompositionObject {
from(value: InsetClip) -> Self27303     fn from(value: InsetClip) -> Self {
27304         ::std::convert::Into::<CompositionObject>::into(&value)
27305     }
27306 }
27307 impl ::std::convert::From<&InsetClip> for CompositionObject {
from(value: &InsetClip) -> Self27308     fn from(value: &InsetClip) -> Self {
27309         ::windows::runtime::Interface::cast(value).unwrap()
27310     }
27311 }
27312 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>27313     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
27314         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
27315     }
27316 }
27317 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &InsetClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>27318     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
27319         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
27320     }
27321 }
27322 unsafe impl ::std::marker::Send for InsetClip {}
27323 unsafe impl ::std::marker::Sync for InsetClip {}
27324 #[repr(transparent)]
27325 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27326 pub struct KeyFrameAnimation(::windows::runtime::IInspectable);
27327 impl KeyFrameAnimation {
27328     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>27329     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
27330         let this = self;
27331         unsafe {
27332             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
27333             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
27334         }
27335     }
27336     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>27337     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27338         let this = self;
27339         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27340     }
27341     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>27342     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
27343         let this = self;
27344         unsafe {
27345             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
27346             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
27347         }
27348     }
27349     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>27350     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27351         let this = self;
27352         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27353     }
IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior>27354     pub fn IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior> {
27355         let this = self;
27356         unsafe {
27357             let mut result__: AnimationIterationBehavior = ::std::mem::zeroed();
27358             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationIterationBehavior>(result__)
27359         }
27360     }
SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()>27361     pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()> {
27362         let this = self;
27363         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
27364     }
IterationCount(&self) -> ::windows::runtime::Result<i32>27365     pub fn IterationCount(&self) -> ::windows::runtime::Result<i32> {
27366         let this = self;
27367         unsafe {
27368             let mut result__: i32 = ::std::mem::zeroed();
27369             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
27370         }
27371     }
SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()>27372     pub fn SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()> {
27373         let this = self;
27374         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
27375     }
KeyFrameCount(&self) -> ::windows::runtime::Result<i32>27376     pub fn KeyFrameCount(&self) -> ::windows::runtime::Result<i32> {
27377         let this = self;
27378         unsafe {
27379             let mut result__: i32 = ::std::mem::zeroed();
27380             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
27381         }
27382     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>27383     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
27384         let this = self;
27385         unsafe {
27386             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
27387             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
27388         }
27389     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>27390     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
27391         let this = self;
27392         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
27393     }
InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>27394     pub fn InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
27395         let this = self;
27396         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
27397     }
InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>27398     pub fn InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
27399         let this = self;
27400         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
27401     }
Direction(&self) -> ::windows::runtime::Result<AnimationDirection>27402     pub fn Direction(&self) -> ::windows::runtime::Result<AnimationDirection> {
27403         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
27404         unsafe {
27405             let mut result__: AnimationDirection = ::std::mem::zeroed();
27406             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDirection>(result__)
27407         }
27408     }
SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()>27409     pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()> {
27410         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
27411         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
27412     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>27413     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
27414         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
27415         unsafe {
27416             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
27417             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
27418         }
27419     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>27420     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
27421         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
27422         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
27423     }
27424     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>27425     pub fn Close(&self) -> ::windows::runtime::Result<()> {
27426         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
27427         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
27428     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>27429     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
27430         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27431         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
27432     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>27433     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
27434         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27435         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
27436     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>27437     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
27438         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27439         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
27440     }
27441     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>27442     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
27443         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27444         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
27445     }
27446     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>27447     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
27448         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27449         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
27450     }
27451     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>27452     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
27453         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27454         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
27455     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>27456     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
27457         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27458         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
27459     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>27460     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
27461         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27462         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
27463     }
27464     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>27465     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
27466         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27467         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
27468     }
27469     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>27470     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
27471         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27472         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
27473     }
27474     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>27475     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
27476         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
27477         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
27478     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>27479     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
27480         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27481         unsafe {
27482             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27483             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
27484         }
27485     }
27486     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>27487     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
27488         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27489         unsafe {
27490             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27491             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
27492         }
27493     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>27494     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
27495         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27496         unsafe {
27497             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27498             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
27499         }
27500     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>27501     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
27502         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27503         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
27504     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>27505     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
27506         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27507         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
27508     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>27509     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
27510         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
27511         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
27512     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>27513     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
27514         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
27515         unsafe {
27516             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
27517             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
27518         }
27519     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>27520     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27521         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
27522         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27523     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>27524     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
27525         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27526         unsafe {
27527             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
27528             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
27529         }
27530     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>27531     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27532         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27533         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27534     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>27535     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
27536         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27537         unsafe {
27538             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27539             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
27540         }
27541     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>27542     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27543         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27544         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27545     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>27546     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27547         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27548         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27549     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>27550     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27551         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
27552         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27553     }
27554     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>27555     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
27556         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
27557         unsafe {
27558             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27559             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
27560         }
27561     }
27562     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>27563     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
27564         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
27565         unsafe {
27566             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27567             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
27568         }
27569     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>27570     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
27571         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
27572         unsafe {
27573             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27574             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
27575         }
27576     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>27577     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
27578         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
27579         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
27580     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>27581     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
27582         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
27583         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
27584     }
27585 }
27586 unsafe impl ::windows::runtime::RuntimeType for KeyFrameAnimation {
27587     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.KeyFrameAnimation;{126e7f22-3ae9-4540-9a8a-deae8a4a4a84})");
27588 }
27589 unsafe impl ::windows::runtime::Interface for KeyFrameAnimation {
27590     type Vtable = IKeyFrameAnimation_abi;
27591     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(309231394, 15081, 17728, [154, 138, 222, 174, 138, 74, 74, 132]);
27592 }
27593 impl ::windows::runtime::RuntimeName for KeyFrameAnimation {
27594     const NAME: &'static str = "Windows.UI.Composition.KeyFrameAnimation";
27595 }
27596 impl ::std::convert::From<KeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: KeyFrameAnimation) -> Self27597     fn from(value: KeyFrameAnimation) -> Self {
27598         unsafe { ::std::mem::transmute(value) }
27599     }
27600 }
27601 impl ::std::convert::From<&KeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: &KeyFrameAnimation) -> Self27602     fn from(value: &KeyFrameAnimation) -> Self {
27603         ::std::convert::From::from(::std::clone::Clone::clone(value))
27604     }
27605 }
27606 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27607     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27608         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
27609     }
27610 }
27611 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>27612     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
27613         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
27614     }
27615 }
27616 impl ::std::convert::From<KeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: KeyFrameAnimation) -> Self27617     fn from(value: KeyFrameAnimation) -> Self {
27618         value.0
27619     }
27620 }
27621 impl ::std::convert::From<&KeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: &KeyFrameAnimation) -> Self27622     fn from(value: &KeyFrameAnimation) -> Self {
27623         value.0.clone()
27624     }
27625 }
27626 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>27627     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
27628         ::windows::runtime::Param::Owned(self.0)
27629     }
27630 }
27631 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>27632     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
27633         ::windows::runtime::Param::Borrowed(&self.0)
27634     }
27635 }
27636 #[cfg(feature = "Foundation")]
27637 impl ::std::convert::TryFrom<KeyFrameAnimation> for super::super::Foundation::IClosable {
27638     type Error = ::windows::runtime::Error;
try_from(value: KeyFrameAnimation) -> ::windows::runtime::Result<Self>27639     fn try_from(value: KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
27640         ::std::convert::TryFrom::try_from(&value)
27641     }
27642 }
27643 #[cfg(feature = "Foundation")]
27644 impl ::std::convert::TryFrom<&KeyFrameAnimation> for super::super::Foundation::IClosable {
27645     type Error = ::windows::runtime::Error;
try_from(value: &KeyFrameAnimation) -> ::windows::runtime::Result<Self>27646     fn try_from(value: &KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
27647         ::windows::runtime::Interface::cast(value)
27648     }
27649 }
27650 #[cfg(feature = "Foundation")]
27651 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>27652     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
27653         ::windows::runtime::IntoParam::into_param(&self)
27654     }
27655 }
27656 #[cfg(feature = "Foundation")]
27657 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>27658     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
27659         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
27660     }
27661 }
27662 impl ::std::convert::TryFrom<KeyFrameAnimation> for ICompositionAnimationBase {
27663     type Error = ::windows::runtime::Error;
try_from(value: KeyFrameAnimation) -> ::windows::runtime::Result<Self>27664     fn try_from(value: KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
27665         ::std::convert::TryFrom::try_from(&value)
27666     }
27667 }
27668 impl ::std::convert::TryFrom<&KeyFrameAnimation> for ICompositionAnimationBase {
27669     type Error = ::windows::runtime::Error;
try_from(value: &KeyFrameAnimation) -> ::windows::runtime::Result<Self>27670     fn try_from(value: &KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
27671         ::windows::runtime::Interface::cast(value)
27672     }
27673 }
27674 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>27675     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
27676         ::windows::runtime::IntoParam::into_param(&self)
27677     }
27678 }
27679 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>27680     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
27681         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
27682     }
27683 }
27684 impl ::std::convert::TryFrom<KeyFrameAnimation> for IAnimationObject {
27685     type Error = ::windows::runtime::Error;
try_from(value: KeyFrameAnimation) -> ::windows::runtime::Result<Self>27686     fn try_from(value: KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
27687         ::std::convert::TryFrom::try_from(&value)
27688     }
27689 }
27690 impl ::std::convert::TryFrom<&KeyFrameAnimation> for IAnimationObject {
27691     type Error = ::windows::runtime::Error;
try_from(value: &KeyFrameAnimation) -> ::windows::runtime::Result<Self>27692     fn try_from(value: &KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
27693         ::windows::runtime::Interface::cast(value)
27694     }
27695 }
27696 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>27697     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
27698         ::windows::runtime::IntoParam::into_param(&self)
27699     }
27700 }
27701 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>27702     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
27703         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
27704     }
27705 }
27706 impl ::std::convert::From<KeyFrameAnimation> for CompositionAnimation {
from(value: KeyFrameAnimation) -> Self27707     fn from(value: KeyFrameAnimation) -> Self {
27708         ::std::convert::Into::<CompositionAnimation>::into(&value)
27709     }
27710 }
27711 impl ::std::convert::From<&KeyFrameAnimation> for CompositionAnimation {
from(value: &KeyFrameAnimation) -> Self27712     fn from(value: &KeyFrameAnimation) -> Self {
27713         ::windows::runtime::Interface::cast(value).unwrap()
27714     }
27715 }
27716 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>27717     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
27718         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
27719     }
27720 }
27721 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>27722     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
27723         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
27724     }
27725 }
27726 impl ::std::convert::From<KeyFrameAnimation> for CompositionObject {
from(value: KeyFrameAnimation) -> Self27727     fn from(value: KeyFrameAnimation) -> Self {
27728         ::std::convert::Into::<CompositionObject>::into(&value)
27729     }
27730 }
27731 impl ::std::convert::From<&KeyFrameAnimation> for CompositionObject {
from(value: &KeyFrameAnimation) -> Self27732     fn from(value: &KeyFrameAnimation) -> Self {
27733         ::windows::runtime::Interface::cast(value).unwrap()
27734     }
27735 }
27736 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>27737     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
27738         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
27739     }
27740 }
27741 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>27742     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
27743         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
27744     }
27745 }
27746 unsafe impl ::std::marker::Send for KeyFrameAnimation {}
27747 unsafe impl ::std::marker::Sync for KeyFrameAnimation {}
27748 #[repr(transparent)]
27749 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
27750 pub struct LayerVisual(::windows::runtime::IInspectable);
27751 impl LayerVisual {
Effect(&self) -> ::windows::runtime::Result<CompositionEffectBrush>27752     pub fn Effect(&self) -> ::windows::runtime::Result<CompositionEffectBrush> {
27753         let this = self;
27754         unsafe {
27755             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27756             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEffectBrush>(result__)
27757         }
27758     }
SetEffect<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionEffectBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>27759     pub fn SetEffect<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionEffectBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27760         let this = self;
27761         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27762     }
Shadow(&self) -> ::windows::runtime::Result<CompositionShadow>27763     pub fn Shadow(&self) -> ::windows::runtime::Result<CompositionShadow> {
27764         let this = &::windows::runtime::Interface::cast::<ILayerVisual2>(self)?;
27765         unsafe {
27766             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27767             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionShadow>(result__)
27768         }
27769     }
SetShadow<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionShadow>>(&self, value: Param0) -> ::windows::runtime::Result<()>27770     pub fn SetShadow<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionShadow>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27771         let this = &::windows::runtime::Interface::cast::<ILayerVisual2>(self)?;
27772         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27773     }
27774     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>27775     pub fn Close(&self) -> ::windows::runtime::Result<()> {
27776         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
27777         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
27778     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>27779     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
27780         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27781         unsafe {
27782             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27783             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
27784         }
27785     }
27786     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>27787     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
27788         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27789         unsafe {
27790             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27791             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
27792         }
27793     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>27794     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
27795         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27796         unsafe {
27797             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27798             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
27799         }
27800     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>27801     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
27802         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27803         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
27804     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>27805     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
27806         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
27807         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
27808     }
Children(&self) -> ::windows::runtime::Result<VisualCollection>27809     pub fn Children(&self) -> ::windows::runtime::Result<VisualCollection> {
27810         let this = &::windows::runtime::Interface::cast::<IContainerVisual>(self)?;
27811         unsafe {
27812             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27813             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualCollection>(result__)
27814         }
27815     }
27816     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>27817     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
27818         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27819         unsafe {
27820             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
27821             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
27822         }
27823     }
27824     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>27825     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27826         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27827         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27828     }
BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility>27829     pub fn BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility> {
27830         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27831         unsafe {
27832             let mut result__: CompositionBackfaceVisibility = ::std::mem::zeroed();
27833             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackfaceVisibility>(result__)
27834         }
27835     }
SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()>27836     pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()> {
27837         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27838         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
27839     }
BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode>27840     pub fn BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode> {
27841         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27842         unsafe {
27843             let mut result__: CompositionBorderMode = ::std::mem::zeroed();
27844             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBorderMode>(result__)
27845         }
27846     }
SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()>27847     pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()> {
27848         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27849         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
27850     }
27851     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>27852     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
27853         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27854         unsafe {
27855             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
27856             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
27857         }
27858     }
27859     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>27860     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27861         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27862         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27863     }
Clip(&self) -> ::windows::runtime::Result<CompositionClip>27864     pub fn Clip(&self) -> ::windows::runtime::Result<CompositionClip> {
27865         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27866         unsafe {
27867             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27868             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionClip>(result__)
27869         }
27870     }
SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()>27871     pub fn SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27872         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27873         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27874     }
CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode>27875     pub fn CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode> {
27876         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27877         unsafe {
27878             let mut result__: CompositionCompositeMode = ::std::mem::zeroed();
27879             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionCompositeMode>(result__)
27880         }
27881     }
SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()>27882     pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()> {
27883         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27884         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
27885     }
IsVisible(&self) -> ::windows::runtime::Result<bool>27886     pub fn IsVisible(&self) -> ::windows::runtime::Result<bool> {
27887         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27888         unsafe {
27889             let mut result__: bool = ::std::mem::zeroed();
27890             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
27891         }
27892     }
SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()>27893     pub fn SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
27894         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27895         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
27896     }
27897     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>27898     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
27899         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27900         unsafe {
27901             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
27902             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
27903         }
27904     }
27905     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>27906     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27907         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27908         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27909     }
Opacity(&self) -> ::windows::runtime::Result<f32>27910     pub fn Opacity(&self) -> ::windows::runtime::Result<f32> {
27911         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27912         unsafe {
27913             let mut result__: f32 = ::std::mem::zeroed();
27914             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
27915         }
27916     }
SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()>27917     pub fn SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()> {
27918         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27919         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
27920     }
27921     #[cfg(feature = "Foundation_Numerics")]
Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion>27922     pub fn Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion> {
27923         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27924         unsafe {
27925             let mut result__: super::super::Foundation::Numerics::Quaternion = ::std::mem::zeroed();
27926             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Quaternion>(result__)
27927         }
27928     }
27929     #[cfg(feature = "Foundation_Numerics")]
SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()>27930     pub fn SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27931         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27932         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27933     }
Parent(&self) -> ::windows::runtime::Result<ContainerVisual>27934     pub fn Parent(&self) -> ::windows::runtime::Result<ContainerVisual> {
27935         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27936         unsafe {
27937             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
27938             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContainerVisual>(result__)
27939         }
27940     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>27941     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
27942         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27943         unsafe {
27944             let mut result__: f32 = ::std::mem::zeroed();
27945             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
27946         }
27947     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>27948     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
27949         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27950         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
27951     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>27952     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
27953         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27954         unsafe {
27955             let mut result__: f32 = ::std::mem::zeroed();
27956             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
27957         }
27958     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>27959     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
27960         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27961         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value).ok() }
27962     }
27963     #[cfg(feature = "Foundation_Numerics")]
RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>27964     pub fn RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
27965         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27966         unsafe {
27967             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
27968             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
27969         }
27970     }
27971     #[cfg(feature = "Foundation_Numerics")]
SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>27972     pub fn SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27973         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27974         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27975     }
27976     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>27977     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
27978         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27979         unsafe {
27980             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
27981             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
27982         }
27983     }
27984     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>27985     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27986         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27987         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
27988     }
27989     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>27990     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
27991         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
27992         unsafe {
27993             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
27994             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
27995         }
27996     }
27997     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>27998     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
27999         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
28000         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28001     }
28002     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4>28003     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4> {
28004         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
28005         unsafe {
28006             let mut result__: super::super::Foundation::Numerics::Matrix4x4 = ::std::mem::zeroed();
28007             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix4x4>(result__)
28008         }
28009     }
28010     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()>28011     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28012         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
28013         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28014     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>28015     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
28016         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28017         unsafe {
28018             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
28019             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
28020         }
28021     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>28022     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28023         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28024         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28025     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>28026     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
28027         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28028         unsafe {
28029             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28030             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
28031         }
28032     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>28033     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28034         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28035         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28036     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>28037     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28038         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28039         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28040     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>28041     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28042         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28043         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28044     }
ParentForTransform(&self) -> ::windows::runtime::Result<Visual>28045     pub fn ParentForTransform(&self) -> ::windows::runtime::Result<Visual> {
28046         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
28047         unsafe {
28048             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28049             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
28050         }
28051     }
SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>28052     pub fn SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28053         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
28054         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28055     }
28056     #[cfg(feature = "Foundation_Numerics")]
RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>28057     pub fn RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
28058         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
28059         unsafe {
28060             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
28061             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
28062         }
28063     }
28064     #[cfg(feature = "Foundation_Numerics")]
SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>28065     pub fn SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28066         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
28067         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28068     }
28069     #[cfg(feature = "Foundation_Numerics")]
RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>28070     pub fn RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
28071         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
28072         unsafe {
28073             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
28074             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
28075         }
28076     }
28077     #[cfg(feature = "Foundation_Numerics")]
SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>28078     pub fn SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28079         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
28080         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28081     }
28082     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>28083     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
28084         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
28085         unsafe {
28086             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28087             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
28088         }
28089     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>28090     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
28091         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
28092         unsafe {
28093             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28094             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
28095         }
28096     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>28097     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
28098         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
28099         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
28100     }
IsHitTestVisible(&self) -> ::windows::runtime::Result<bool>28101     pub fn IsHitTestVisible(&self) -> ::windows::runtime::Result<bool> {
28102         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
28103         unsafe {
28104             let mut result__: bool = ::std::mem::zeroed();
28105             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
28106         }
28107     }
SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()>28108     pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
28109         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
28110         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
28111     }
IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool>28112     pub fn IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool> {
28113         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
28114         unsafe {
28115             let mut result__: bool = ::std::mem::zeroed();
28116             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
28117         }
28118     }
SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()>28119     pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
28120         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
28121         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
28122     }
28123 }
28124 unsafe impl ::windows::runtime::RuntimeType for LayerVisual {
28125     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.LayerVisual;{af843985-0444-4887-8e83-b40b253f822c})");
28126 }
28127 unsafe impl ::windows::runtime::Interface for LayerVisual {
28128     type Vtable = ILayerVisual_abi;
28129     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2944678277, 1092, 18567, [142, 131, 180, 11, 37, 63, 130, 44]);
28130 }
28131 impl ::windows::runtime::RuntimeName for LayerVisual {
28132     const NAME: &'static str = "Windows.UI.Composition.LayerVisual";
28133 }
28134 impl ::std::convert::From<LayerVisual> for ::windows::runtime::IUnknown {
from(value: LayerVisual) -> Self28135     fn from(value: LayerVisual) -> Self {
28136         unsafe { ::std::mem::transmute(value) }
28137     }
28138 }
28139 impl ::std::convert::From<&LayerVisual> for ::windows::runtime::IUnknown {
from(value: &LayerVisual) -> Self28140     fn from(value: &LayerVisual) -> Self {
28141         ::std::convert::From::from(::std::clone::Clone::clone(value))
28142     }
28143 }
28144 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28145     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28146         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28147     }
28148 }
28149 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28150     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28151         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28152     }
28153 }
28154 impl ::std::convert::From<LayerVisual> for ::windows::runtime::IInspectable {
from(value: LayerVisual) -> Self28155     fn from(value: LayerVisual) -> Self {
28156         value.0
28157     }
28158 }
28159 impl ::std::convert::From<&LayerVisual> for ::windows::runtime::IInspectable {
from(value: &LayerVisual) -> Self28160     fn from(value: &LayerVisual) -> Self {
28161         value.0.clone()
28162     }
28163 }
28164 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>28165     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
28166         ::windows::runtime::Param::Owned(self.0)
28167     }
28168 }
28169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>28170     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
28171         ::windows::runtime::Param::Borrowed(&self.0)
28172     }
28173 }
28174 #[cfg(feature = "Foundation")]
28175 impl ::std::convert::TryFrom<LayerVisual> for super::super::Foundation::IClosable {
28176     type Error = ::windows::runtime::Error;
try_from(value: LayerVisual) -> ::windows::runtime::Result<Self>28177     fn try_from(value: LayerVisual) -> ::windows::runtime::Result<Self> {
28178         ::std::convert::TryFrom::try_from(&value)
28179     }
28180 }
28181 #[cfg(feature = "Foundation")]
28182 impl ::std::convert::TryFrom<&LayerVisual> for super::super::Foundation::IClosable {
28183     type Error = ::windows::runtime::Error;
try_from(value: &LayerVisual) -> ::windows::runtime::Result<Self>28184     fn try_from(value: &LayerVisual) -> ::windows::runtime::Result<Self> {
28185         ::windows::runtime::Interface::cast(value)
28186     }
28187 }
28188 #[cfg(feature = "Foundation")]
28189 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>28190     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
28191         ::windows::runtime::IntoParam::into_param(&self)
28192     }
28193 }
28194 #[cfg(feature = "Foundation")]
28195 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>28196     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
28197         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
28198     }
28199 }
28200 impl ::std::convert::TryFrom<LayerVisual> for IAnimationObject {
28201     type Error = ::windows::runtime::Error;
try_from(value: LayerVisual) -> ::windows::runtime::Result<Self>28202     fn try_from(value: LayerVisual) -> ::windows::runtime::Result<Self> {
28203         ::std::convert::TryFrom::try_from(&value)
28204     }
28205 }
28206 impl ::std::convert::TryFrom<&LayerVisual> for IAnimationObject {
28207     type Error = ::windows::runtime::Error;
try_from(value: &LayerVisual) -> ::windows::runtime::Result<Self>28208     fn try_from(value: &LayerVisual) -> ::windows::runtime::Result<Self> {
28209         ::windows::runtime::Interface::cast(value)
28210     }
28211 }
28212 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>28213     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
28214         ::windows::runtime::IntoParam::into_param(&self)
28215     }
28216 }
28217 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>28218     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
28219         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
28220     }
28221 }
28222 impl ::std::convert::From<LayerVisual> for ContainerVisual {
from(value: LayerVisual) -> Self28223     fn from(value: LayerVisual) -> Self {
28224         ::std::convert::Into::<ContainerVisual>::into(&value)
28225     }
28226 }
28227 impl ::std::convert::From<&LayerVisual> for ContainerVisual {
from(value: &LayerVisual) -> Self28228     fn from(value: &LayerVisual) -> Self {
28229         ::windows::runtime::Interface::cast(value).unwrap()
28230     }
28231 }
28232 impl<'a> ::windows::runtime::IntoParam<'a, ContainerVisual> for LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual>28233     fn into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual> {
28234         ::windows::runtime::Param::Owned(::std::convert::Into::<ContainerVisual>::into(self))
28235     }
28236 }
28237 impl<'a> ::windows::runtime::IntoParam<'a, ContainerVisual> for &LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual>28238     fn into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual> {
28239         ::windows::runtime::Param::Owned(::std::convert::Into::<ContainerVisual>::into(::std::clone::Clone::clone(self)))
28240     }
28241 }
28242 impl ::std::convert::From<LayerVisual> for Visual {
from(value: LayerVisual) -> Self28243     fn from(value: LayerVisual) -> Self {
28244         ::std::convert::Into::<Visual>::into(&value)
28245     }
28246 }
28247 impl ::std::convert::From<&LayerVisual> for Visual {
from(value: &LayerVisual) -> Self28248     fn from(value: &LayerVisual) -> Self {
28249         ::windows::runtime::Interface::cast(value).unwrap()
28250     }
28251 }
28252 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>28253     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
28254         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(self))
28255     }
28256 }
28257 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for &LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>28258     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
28259         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(::std::clone::Clone::clone(self)))
28260     }
28261 }
28262 impl ::std::convert::From<LayerVisual> for CompositionObject {
from(value: LayerVisual) -> Self28263     fn from(value: LayerVisual) -> Self {
28264         ::std::convert::Into::<CompositionObject>::into(&value)
28265     }
28266 }
28267 impl ::std::convert::From<&LayerVisual> for CompositionObject {
from(value: &LayerVisual) -> Self28268     fn from(value: &LayerVisual) -> Self {
28269         ::windows::runtime::Interface::cast(value).unwrap()
28270     }
28271 }
28272 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>28273     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
28274         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
28275     }
28276 }
28277 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &LayerVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>28278     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
28279         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
28280     }
28281 }
28282 unsafe impl ::std::marker::Send for LayerVisual {}
28283 unsafe impl ::std::marker::Sync for LayerVisual {}
28284 #[repr(transparent)]
28285 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28286 pub struct LinearEasingFunction(::windows::runtime::IInspectable);
28287 impl LinearEasingFunction {
28288     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>28289     pub fn Close(&self) -> ::windows::runtime::Result<()> {
28290         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
28291         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
28292     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>28293     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
28294         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28295         unsafe {
28296             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28297             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
28298         }
28299     }
28300     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>28301     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
28302         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28303         unsafe {
28304             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28305             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
28306         }
28307     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>28308     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
28309         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28310         unsafe {
28311             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28312             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
28313         }
28314     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>28315     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
28316         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28317         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
28318     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>28319     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
28320         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28321         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
28322     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>28323     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
28324         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28325         unsafe {
28326             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
28327             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
28328         }
28329     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>28330     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28331         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28332         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28333     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>28334     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
28335         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28336         unsafe {
28337             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28338             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
28339         }
28340     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>28341     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28342         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28343         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28344     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>28345     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28346         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28347         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28348     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>28349     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28350         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28351         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28352     }
28353     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>28354     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
28355         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
28356         unsafe {
28357             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28358             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
28359         }
28360     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>28361     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
28362         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
28363         unsafe {
28364             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28365             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
28366         }
28367     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>28368     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
28369         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
28370         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
28371     }
28372 }
28373 unsafe impl ::windows::runtime::RuntimeType for LinearEasingFunction {
28374     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.LinearEasingFunction;{9400975a-c7a6-46b3-acf7-1a268a0a117d})");
28375 }
28376 unsafe impl ::windows::runtime::Interface for LinearEasingFunction {
28377     type Vtable = ILinearEasingFunction_abi;
28378     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2483066714, 51110, 18099, [172, 247, 26, 38, 138, 10, 17, 125]);
28379 }
28380 impl ::windows::runtime::RuntimeName for LinearEasingFunction {
28381     const NAME: &'static str = "Windows.UI.Composition.LinearEasingFunction";
28382 }
28383 impl ::std::convert::From<LinearEasingFunction> for ::windows::runtime::IUnknown {
from(value: LinearEasingFunction) -> Self28384     fn from(value: LinearEasingFunction) -> Self {
28385         unsafe { ::std::mem::transmute(value) }
28386     }
28387 }
28388 impl ::std::convert::From<&LinearEasingFunction> for ::windows::runtime::IUnknown {
from(value: &LinearEasingFunction) -> Self28389     fn from(value: &LinearEasingFunction) -> Self {
28390         ::std::convert::From::from(::std::clone::Clone::clone(value))
28391     }
28392 }
28393 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28394     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28395         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28396     }
28397 }
28398 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28399     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28400         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28401     }
28402 }
28403 impl ::std::convert::From<LinearEasingFunction> for ::windows::runtime::IInspectable {
from(value: LinearEasingFunction) -> Self28404     fn from(value: LinearEasingFunction) -> Self {
28405         value.0
28406     }
28407 }
28408 impl ::std::convert::From<&LinearEasingFunction> for ::windows::runtime::IInspectable {
from(value: &LinearEasingFunction) -> Self28409     fn from(value: &LinearEasingFunction) -> Self {
28410         value.0.clone()
28411     }
28412 }
28413 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>28414     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
28415         ::windows::runtime::Param::Owned(self.0)
28416     }
28417 }
28418 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>28419     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
28420         ::windows::runtime::Param::Borrowed(&self.0)
28421     }
28422 }
28423 #[cfg(feature = "Foundation")]
28424 impl ::std::convert::TryFrom<LinearEasingFunction> for super::super::Foundation::IClosable {
28425     type Error = ::windows::runtime::Error;
try_from(value: LinearEasingFunction) -> ::windows::runtime::Result<Self>28426     fn try_from(value: LinearEasingFunction) -> ::windows::runtime::Result<Self> {
28427         ::std::convert::TryFrom::try_from(&value)
28428     }
28429 }
28430 #[cfg(feature = "Foundation")]
28431 impl ::std::convert::TryFrom<&LinearEasingFunction> for super::super::Foundation::IClosable {
28432     type Error = ::windows::runtime::Error;
try_from(value: &LinearEasingFunction) -> ::windows::runtime::Result<Self>28433     fn try_from(value: &LinearEasingFunction) -> ::windows::runtime::Result<Self> {
28434         ::windows::runtime::Interface::cast(value)
28435     }
28436 }
28437 #[cfg(feature = "Foundation")]
28438 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>28439     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
28440         ::windows::runtime::IntoParam::into_param(&self)
28441     }
28442 }
28443 #[cfg(feature = "Foundation")]
28444 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>28445     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
28446         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
28447     }
28448 }
28449 impl ::std::convert::TryFrom<LinearEasingFunction> for IAnimationObject {
28450     type Error = ::windows::runtime::Error;
try_from(value: LinearEasingFunction) -> ::windows::runtime::Result<Self>28451     fn try_from(value: LinearEasingFunction) -> ::windows::runtime::Result<Self> {
28452         ::std::convert::TryFrom::try_from(&value)
28453     }
28454 }
28455 impl ::std::convert::TryFrom<&LinearEasingFunction> for IAnimationObject {
28456     type Error = ::windows::runtime::Error;
try_from(value: &LinearEasingFunction) -> ::windows::runtime::Result<Self>28457     fn try_from(value: &LinearEasingFunction) -> ::windows::runtime::Result<Self> {
28458         ::windows::runtime::Interface::cast(value)
28459     }
28460 }
28461 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>28462     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
28463         ::windows::runtime::IntoParam::into_param(&self)
28464     }
28465 }
28466 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>28467     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
28468         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
28469     }
28470 }
28471 impl ::std::convert::From<LinearEasingFunction> for CompositionEasingFunction {
from(value: LinearEasingFunction) -> Self28472     fn from(value: LinearEasingFunction) -> Self {
28473         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
28474     }
28475 }
28476 impl ::std::convert::From<&LinearEasingFunction> for CompositionEasingFunction {
from(value: &LinearEasingFunction) -> Self28477     fn from(value: &LinearEasingFunction) -> Self {
28478         ::windows::runtime::Interface::cast(value).unwrap()
28479     }
28480 }
28481 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>28482     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
28483         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
28484     }
28485 }
28486 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>28487     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
28488         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
28489     }
28490 }
28491 impl ::std::convert::From<LinearEasingFunction> for CompositionObject {
from(value: LinearEasingFunction) -> Self28492     fn from(value: LinearEasingFunction) -> Self {
28493         ::std::convert::Into::<CompositionObject>::into(&value)
28494     }
28495 }
28496 impl ::std::convert::From<&LinearEasingFunction> for CompositionObject {
from(value: &LinearEasingFunction) -> Self28497     fn from(value: &LinearEasingFunction) -> Self {
28498         ::windows::runtime::Interface::cast(value).unwrap()
28499     }
28500 }
28501 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>28502     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
28503         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
28504     }
28505 }
28506 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &LinearEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>28507     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
28508         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
28509     }
28510 }
28511 unsafe impl ::std::marker::Send for LinearEasingFunction {}
28512 unsafe impl ::std::marker::Sync for LinearEasingFunction {}
28513 #[repr(transparent)]
28514 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28515 pub struct NaturalMotionAnimation(::windows::runtime::IInspectable);
28516 impl NaturalMotionAnimation {
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>28517     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
28518         let this = self;
28519         unsafe {
28520             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
28521             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
28522         }
28523     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>28524     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
28525         let this = self;
28526         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
28527     }
28528     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>28529     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
28530         let this = self;
28531         unsafe {
28532             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
28533             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
28534         }
28535     }
28536     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>28537     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28538         let this = self;
28539         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28540     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>28541     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
28542         let this = self;
28543         unsafe {
28544             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
28545             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
28546         }
28547     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>28548     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
28549         let this = self;
28550         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
28551     }
28552     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>28553     pub fn Close(&self) -> ::windows::runtime::Result<()> {
28554         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
28555         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
28556     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>28557     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
28558         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28559         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
28560     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>28561     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
28562         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28563         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
28564     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28565     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28566         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28567         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28568     }
28569     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28570     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28571         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28572         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28573     }
28574     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28575     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28576         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28577         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28578     }
28579     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28580     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28581         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28582         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28583     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>28584     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
28585         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28586         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
28587     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>28588     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
28589         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28590         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
28591     }
28592     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28593     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28594         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28595         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28596     }
28597     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28598     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28599         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28600         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28601     }
28602     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28603     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28604         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28605         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28606     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>28607     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
28608         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28609         unsafe {
28610             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28611             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
28612         }
28613     }
28614     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>28615     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
28616         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28617         unsafe {
28618             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28619             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
28620         }
28621     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>28622     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
28623         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28624         unsafe {
28625             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28626             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
28627         }
28628     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>28629     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
28630         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28631         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
28632     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>28633     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
28634         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28635         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
28636     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>28637     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
28638         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
28639         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
28640     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>28641     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
28642         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
28643         unsafe {
28644             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
28645             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
28646         }
28647     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>28648     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28649         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
28650         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28651     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>28652     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
28653         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28654         unsafe {
28655             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
28656             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
28657         }
28658     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>28659     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28660         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28661         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28662     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>28663     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
28664         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28665         unsafe {
28666             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28667             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
28668         }
28669     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>28670     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28671         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28672         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28673     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>28674     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28675         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28676         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28677     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>28678     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28679         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
28680         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28681     }
28682     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>28683     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
28684         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
28685         unsafe {
28686             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28687             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
28688         }
28689     }
28690     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>28691     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
28692         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
28693         unsafe {
28694             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28695             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
28696         }
28697     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>28698     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
28699         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
28700         unsafe {
28701             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28702             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
28703         }
28704     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>28705     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
28706         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
28707         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
28708     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>28709     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
28710         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
28711         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
28712     }
28713 }
28714 unsafe impl ::windows::runtime::RuntimeType for NaturalMotionAnimation {
28715     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.NaturalMotionAnimation;{438de12d-769b-4821-a949-284a6547e873})");
28716 }
28717 unsafe impl ::windows::runtime::Interface for NaturalMotionAnimation {
28718     type Vtable = INaturalMotionAnimation_abi;
28719     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1133371693, 30363, 18465, [169, 73, 40, 74, 101, 71, 232, 115]);
28720 }
28721 impl ::windows::runtime::RuntimeName for NaturalMotionAnimation {
28722     const NAME: &'static str = "Windows.UI.Composition.NaturalMotionAnimation";
28723 }
28724 impl ::std::convert::From<NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: NaturalMotionAnimation) -> Self28725     fn from(value: NaturalMotionAnimation) -> Self {
28726         unsafe { ::std::mem::transmute(value) }
28727     }
28728 }
28729 impl ::std::convert::From<&NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &NaturalMotionAnimation) -> Self28730     fn from(value: &NaturalMotionAnimation) -> Self {
28731         ::std::convert::From::from(::std::clone::Clone::clone(value))
28732     }
28733 }
28734 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28735     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28736         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
28737     }
28738 }
28739 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>28740     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
28741         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
28742     }
28743 }
28744 impl ::std::convert::From<NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: NaturalMotionAnimation) -> Self28745     fn from(value: NaturalMotionAnimation) -> Self {
28746         value.0
28747     }
28748 }
28749 impl ::std::convert::From<&NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &NaturalMotionAnimation) -> Self28750     fn from(value: &NaturalMotionAnimation) -> Self {
28751         value.0.clone()
28752     }
28753 }
28754 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>28755     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
28756         ::windows::runtime::Param::Owned(self.0)
28757     }
28758 }
28759 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>28760     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
28761         ::windows::runtime::Param::Borrowed(&self.0)
28762     }
28763 }
28764 #[cfg(feature = "Foundation")]
28765 impl ::std::convert::TryFrom<NaturalMotionAnimation> for super::super::Foundation::IClosable {
28766     type Error = ::windows::runtime::Error;
try_from(value: NaturalMotionAnimation) -> ::windows::runtime::Result<Self>28767     fn try_from(value: NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
28768         ::std::convert::TryFrom::try_from(&value)
28769     }
28770 }
28771 #[cfg(feature = "Foundation")]
28772 impl ::std::convert::TryFrom<&NaturalMotionAnimation> for super::super::Foundation::IClosable {
28773     type Error = ::windows::runtime::Error;
try_from(value: &NaturalMotionAnimation) -> ::windows::runtime::Result<Self>28774     fn try_from(value: &NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
28775         ::windows::runtime::Interface::cast(value)
28776     }
28777 }
28778 #[cfg(feature = "Foundation")]
28779 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>28780     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
28781         ::windows::runtime::IntoParam::into_param(&self)
28782     }
28783 }
28784 #[cfg(feature = "Foundation")]
28785 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>28786     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
28787         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
28788     }
28789 }
28790 impl ::std::convert::TryFrom<NaturalMotionAnimation> for ICompositionAnimationBase {
28791     type Error = ::windows::runtime::Error;
try_from(value: NaturalMotionAnimation) -> ::windows::runtime::Result<Self>28792     fn try_from(value: NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
28793         ::std::convert::TryFrom::try_from(&value)
28794     }
28795 }
28796 impl ::std::convert::TryFrom<&NaturalMotionAnimation> for ICompositionAnimationBase {
28797     type Error = ::windows::runtime::Error;
try_from(value: &NaturalMotionAnimation) -> ::windows::runtime::Result<Self>28798     fn try_from(value: &NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
28799         ::windows::runtime::Interface::cast(value)
28800     }
28801 }
28802 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>28803     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
28804         ::windows::runtime::IntoParam::into_param(&self)
28805     }
28806 }
28807 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>28808     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
28809         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
28810     }
28811 }
28812 impl ::std::convert::TryFrom<NaturalMotionAnimation> for IAnimationObject {
28813     type Error = ::windows::runtime::Error;
try_from(value: NaturalMotionAnimation) -> ::windows::runtime::Result<Self>28814     fn try_from(value: NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
28815         ::std::convert::TryFrom::try_from(&value)
28816     }
28817 }
28818 impl ::std::convert::TryFrom<&NaturalMotionAnimation> for IAnimationObject {
28819     type Error = ::windows::runtime::Error;
try_from(value: &NaturalMotionAnimation) -> ::windows::runtime::Result<Self>28820     fn try_from(value: &NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
28821         ::windows::runtime::Interface::cast(value)
28822     }
28823 }
28824 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>28825     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
28826         ::windows::runtime::IntoParam::into_param(&self)
28827     }
28828 }
28829 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>28830     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
28831         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
28832     }
28833 }
28834 impl ::std::convert::From<NaturalMotionAnimation> for CompositionAnimation {
from(value: NaturalMotionAnimation) -> Self28835     fn from(value: NaturalMotionAnimation) -> Self {
28836         ::std::convert::Into::<CompositionAnimation>::into(&value)
28837     }
28838 }
28839 impl ::std::convert::From<&NaturalMotionAnimation> for CompositionAnimation {
from(value: &NaturalMotionAnimation) -> Self28840     fn from(value: &NaturalMotionAnimation) -> Self {
28841         ::windows::runtime::Interface::cast(value).unwrap()
28842     }
28843 }
28844 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>28845     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
28846         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
28847     }
28848 }
28849 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>28850     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
28851         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
28852     }
28853 }
28854 impl ::std::convert::From<NaturalMotionAnimation> for CompositionObject {
from(value: NaturalMotionAnimation) -> Self28855     fn from(value: NaturalMotionAnimation) -> Self {
28856         ::std::convert::Into::<CompositionObject>::into(&value)
28857     }
28858 }
28859 impl ::std::convert::From<&NaturalMotionAnimation> for CompositionObject {
from(value: &NaturalMotionAnimation) -> Self28860     fn from(value: &NaturalMotionAnimation) -> Self {
28861         ::windows::runtime::Interface::cast(value).unwrap()
28862     }
28863 }
28864 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>28865     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
28866         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
28867     }
28868 }
28869 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>28870     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
28871         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
28872     }
28873 }
28874 unsafe impl ::std::marker::Send for NaturalMotionAnimation {}
28875 unsafe impl ::std::marker::Sync for NaturalMotionAnimation {}
28876 #[repr(transparent)]
28877 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28878 pub struct PathKeyFrameAnimation(::windows::runtime::IInspectable);
28879 impl PathKeyFrameAnimation {
InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionPath>>(&self, normalizedprogresskey: f32, path: Param1) -> ::windows::runtime::Result<()>28880     pub fn InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionPath>>(&self, normalizedprogresskey: f32, path: Param1) -> ::windows::runtime::Result<()> {
28881         let this = self;
28882         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), normalizedprogresskey, path.into_param().abi()).ok() }
28883     }
InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionPath>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, path: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>28884     pub fn InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, CompositionPath>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, path: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
28885         let this = self;
28886         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), normalizedprogresskey, path.into_param().abi(), easingfunction.into_param().abi()).ok() }
28887     }
28888     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>28889     pub fn Close(&self) -> ::windows::runtime::Result<()> {
28890         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
28891         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
28892     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>28893     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
28894         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28895         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
28896     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>28897     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
28898         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28899         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
28900     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28901     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28902         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28903         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28904     }
28905     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28906     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28907         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28908         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28909     }
28910     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28911     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28912         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28913         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28914     }
28915     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28916     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28917         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28918         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28919     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>28920     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
28921         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28922         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
28923     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>28924     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
28925         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28926         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
28927     }
28928     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28929     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28930         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28931         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28932     }
28933     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28934     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28935         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28936         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28937     }
28938     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>28939     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
28940         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
28941         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
28942     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>28943     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
28944         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28945         unsafe {
28946             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28947             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
28948         }
28949     }
28950     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>28951     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
28952         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28953         unsafe {
28954             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28955             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
28956         }
28957     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>28958     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
28959         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28960         unsafe {
28961             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
28962             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
28963         }
28964     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>28965     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
28966         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28967         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
28968     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>28969     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
28970         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
28971         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
28972     }
28973     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>28974     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
28975         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
28976         unsafe {
28977             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
28978             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
28979         }
28980     }
28981     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>28982     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28983         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
28984         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28985     }
28986     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>28987     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
28988         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
28989         unsafe {
28990             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
28991             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
28992         }
28993     }
28994     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>28995     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
28996         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
28997         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
28998     }
IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior>28999     pub fn IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior> {
29000         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
29001         unsafe {
29002             let mut result__: AnimationIterationBehavior = ::std::mem::zeroed();
29003             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationIterationBehavior>(result__)
29004         }
29005     }
SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()>29006     pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()> {
29007         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
29008         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
29009     }
IterationCount(&self) -> ::windows::runtime::Result<i32>29010     pub fn IterationCount(&self) -> ::windows::runtime::Result<i32> {
29011         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
29012         unsafe {
29013             let mut result__: i32 = ::std::mem::zeroed();
29014             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
29015         }
29016     }
SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()>29017     pub fn SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()> {
29018         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
29019         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
29020     }
KeyFrameCount(&self) -> ::windows::runtime::Result<i32>29021     pub fn KeyFrameCount(&self) -> ::windows::runtime::Result<i32> {
29022         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
29023         unsafe {
29024             let mut result__: i32 = ::std::mem::zeroed();
29025             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
29026         }
29027     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>29028     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
29029         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
29030         unsafe {
29031             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
29032             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
29033         }
29034     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>29035     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
29036         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
29037         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
29038     }
InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>29039     pub fn InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
29040         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
29041         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
29042     }
InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>29043     pub fn InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
29044         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
29045         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
29046     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>29047     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
29048         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
29049         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
29050     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>29051     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
29052         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
29053         unsafe {
29054             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
29055             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
29056         }
29057     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>29058     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29059         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
29060         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29061     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>29062     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
29063         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29064         unsafe {
29065             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
29066             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
29067         }
29068     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>29069     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29070         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29071         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29072     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>29073     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
29074         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29075         unsafe {
29076             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29077             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
29078         }
29079     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>29080     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29081         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29082         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29083     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>29084     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29085         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29086         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29087     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>29088     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29089         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29090         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29091     }
Direction(&self) -> ::windows::runtime::Result<AnimationDirection>29092     pub fn Direction(&self) -> ::windows::runtime::Result<AnimationDirection> {
29093         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
29094         unsafe {
29095             let mut result__: AnimationDirection = ::std::mem::zeroed();
29096             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDirection>(result__)
29097         }
29098     }
SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()>29099     pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()> {
29100         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
29101         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
29102     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>29103     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
29104         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
29105         unsafe {
29106             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
29107             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
29108         }
29109     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>29110     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
29111         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
29112         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
29113     }
29114     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>29115     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
29116         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
29117         unsafe {
29118             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29119             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
29120         }
29121     }
29122     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>29123     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
29124         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
29125         unsafe {
29126             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29127             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
29128         }
29129     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>29130     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
29131         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
29132         unsafe {
29133             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29134             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
29135         }
29136     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>29137     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
29138         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
29139         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
29140     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>29141     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
29142         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
29143         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
29144     }
29145 }
29146 unsafe impl ::windows::runtime::RuntimeType for PathKeyFrameAnimation {
29147     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.PathKeyFrameAnimation;{9d0d18c9-1576-4b3f-be60-1d5031f5e71b})");
29148 }
29149 unsafe impl ::windows::runtime::Interface for PathKeyFrameAnimation {
29150     type Vtable = IPathKeyFrameAnimation_abi;
29151     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2634881225, 5494, 19263, [190, 96, 29, 80, 49, 245, 231, 27]);
29152 }
29153 impl ::windows::runtime::RuntimeName for PathKeyFrameAnimation {
29154     const NAME: &'static str = "Windows.UI.Composition.PathKeyFrameAnimation";
29155 }
29156 impl ::std::convert::From<PathKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: PathKeyFrameAnimation) -> Self29157     fn from(value: PathKeyFrameAnimation) -> Self {
29158         unsafe { ::std::mem::transmute(value) }
29159     }
29160 }
29161 impl ::std::convert::From<&PathKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: &PathKeyFrameAnimation) -> Self29162     fn from(value: &PathKeyFrameAnimation) -> Self {
29163         ::std::convert::From::from(::std::clone::Clone::clone(value))
29164     }
29165 }
29166 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>29167     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
29168         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
29169     }
29170 }
29171 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>29172     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
29173         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
29174     }
29175 }
29176 impl ::std::convert::From<PathKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: PathKeyFrameAnimation) -> Self29177     fn from(value: PathKeyFrameAnimation) -> Self {
29178         value.0
29179     }
29180 }
29181 impl ::std::convert::From<&PathKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: &PathKeyFrameAnimation) -> Self29182     fn from(value: &PathKeyFrameAnimation) -> Self {
29183         value.0.clone()
29184     }
29185 }
29186 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>29187     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
29188         ::windows::runtime::Param::Owned(self.0)
29189     }
29190 }
29191 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>29192     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
29193         ::windows::runtime::Param::Borrowed(&self.0)
29194     }
29195 }
29196 #[cfg(feature = "Foundation")]
29197 impl ::std::convert::TryFrom<PathKeyFrameAnimation> for super::super::Foundation::IClosable {
29198     type Error = ::windows::runtime::Error;
try_from(value: PathKeyFrameAnimation) -> ::windows::runtime::Result<Self>29199     fn try_from(value: PathKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
29200         ::std::convert::TryFrom::try_from(&value)
29201     }
29202 }
29203 #[cfg(feature = "Foundation")]
29204 impl ::std::convert::TryFrom<&PathKeyFrameAnimation> for super::super::Foundation::IClosable {
29205     type Error = ::windows::runtime::Error;
try_from(value: &PathKeyFrameAnimation) -> ::windows::runtime::Result<Self>29206     fn try_from(value: &PathKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
29207         ::windows::runtime::Interface::cast(value)
29208     }
29209 }
29210 #[cfg(feature = "Foundation")]
29211 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>29212     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
29213         ::windows::runtime::IntoParam::into_param(&self)
29214     }
29215 }
29216 #[cfg(feature = "Foundation")]
29217 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>29218     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
29219         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
29220     }
29221 }
29222 impl ::std::convert::TryFrom<PathKeyFrameAnimation> for ICompositionAnimationBase {
29223     type Error = ::windows::runtime::Error;
try_from(value: PathKeyFrameAnimation) -> ::windows::runtime::Result<Self>29224     fn try_from(value: PathKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
29225         ::std::convert::TryFrom::try_from(&value)
29226     }
29227 }
29228 impl ::std::convert::TryFrom<&PathKeyFrameAnimation> for ICompositionAnimationBase {
29229     type Error = ::windows::runtime::Error;
try_from(value: &PathKeyFrameAnimation) -> ::windows::runtime::Result<Self>29230     fn try_from(value: &PathKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
29231         ::windows::runtime::Interface::cast(value)
29232     }
29233 }
29234 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>29235     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
29236         ::windows::runtime::IntoParam::into_param(&self)
29237     }
29238 }
29239 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>29240     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
29241         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
29242     }
29243 }
29244 impl ::std::convert::TryFrom<PathKeyFrameAnimation> for IAnimationObject {
29245     type Error = ::windows::runtime::Error;
try_from(value: PathKeyFrameAnimation) -> ::windows::runtime::Result<Self>29246     fn try_from(value: PathKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
29247         ::std::convert::TryFrom::try_from(&value)
29248     }
29249 }
29250 impl ::std::convert::TryFrom<&PathKeyFrameAnimation> for IAnimationObject {
29251     type Error = ::windows::runtime::Error;
try_from(value: &PathKeyFrameAnimation) -> ::windows::runtime::Result<Self>29252     fn try_from(value: &PathKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
29253         ::windows::runtime::Interface::cast(value)
29254     }
29255 }
29256 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>29257     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
29258         ::windows::runtime::IntoParam::into_param(&self)
29259     }
29260 }
29261 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>29262     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
29263         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
29264     }
29265 }
29266 impl ::std::convert::From<PathKeyFrameAnimation> for KeyFrameAnimation {
from(value: PathKeyFrameAnimation) -> Self29267     fn from(value: PathKeyFrameAnimation) -> Self {
29268         ::std::convert::Into::<KeyFrameAnimation>::into(&value)
29269     }
29270 }
29271 impl ::std::convert::From<&PathKeyFrameAnimation> for KeyFrameAnimation {
from(value: &PathKeyFrameAnimation) -> Self29272     fn from(value: &PathKeyFrameAnimation) -> Self {
29273         ::windows::runtime::Interface::cast(value).unwrap()
29274     }
29275 }
29276 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>29277     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
29278         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(self))
29279     }
29280 }
29281 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for &PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>29282     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
29283         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(::std::clone::Clone::clone(self)))
29284     }
29285 }
29286 impl ::std::convert::From<PathKeyFrameAnimation> for CompositionAnimation {
from(value: PathKeyFrameAnimation) -> Self29287     fn from(value: PathKeyFrameAnimation) -> Self {
29288         ::std::convert::Into::<CompositionAnimation>::into(&value)
29289     }
29290 }
29291 impl ::std::convert::From<&PathKeyFrameAnimation> for CompositionAnimation {
from(value: &PathKeyFrameAnimation) -> Self29292     fn from(value: &PathKeyFrameAnimation) -> Self {
29293         ::windows::runtime::Interface::cast(value).unwrap()
29294     }
29295 }
29296 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>29297     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
29298         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
29299     }
29300 }
29301 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>29302     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
29303         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
29304     }
29305 }
29306 impl ::std::convert::From<PathKeyFrameAnimation> for CompositionObject {
from(value: PathKeyFrameAnimation) -> Self29307     fn from(value: PathKeyFrameAnimation) -> Self {
29308         ::std::convert::Into::<CompositionObject>::into(&value)
29309     }
29310 }
29311 impl ::std::convert::From<&PathKeyFrameAnimation> for CompositionObject {
from(value: &PathKeyFrameAnimation) -> Self29312     fn from(value: &PathKeyFrameAnimation) -> Self {
29313         ::windows::runtime::Interface::cast(value).unwrap()
29314     }
29315 }
29316 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>29317     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
29318         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
29319     }
29320 }
29321 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &PathKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>29322     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
29323         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
29324     }
29325 }
29326 unsafe impl ::std::marker::Send for PathKeyFrameAnimation {}
29327 unsafe impl ::std::marker::Sync for PathKeyFrameAnimation {}
29328 #[repr(transparent)]
29329 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
29330 pub struct PointLight(::windows::runtime::IInspectable);
29331 impl PointLight {
Color(&self) -> ::windows::runtime::Result<super::Color>29332     pub fn Color(&self) -> ::windows::runtime::Result<super::Color> {
29333         let this = self;
29334         unsafe {
29335             let mut result__: super::Color = ::std::mem::zeroed();
29336             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
29337         }
29338     }
SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>29339     pub fn SetColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29340         let this = self;
29341         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29342     }
ConstantAttenuation(&self) -> ::windows::runtime::Result<f32>29343     pub fn ConstantAttenuation(&self) -> ::windows::runtime::Result<f32> {
29344         let this = self;
29345         unsafe {
29346             let mut result__: f32 = ::std::mem::zeroed();
29347             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
29348         }
29349     }
SetConstantAttenuation(&self, value: f32) -> ::windows::runtime::Result<()>29350     pub fn SetConstantAttenuation(&self, value: f32) -> ::windows::runtime::Result<()> {
29351         let this = self;
29352         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
29353     }
CoordinateSpace(&self) -> ::windows::runtime::Result<Visual>29354     pub fn CoordinateSpace(&self) -> ::windows::runtime::Result<Visual> {
29355         let this = self;
29356         unsafe {
29357             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29358             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
29359         }
29360     }
SetCoordinateSpace<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>29361     pub fn SetCoordinateSpace<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29362         let this = self;
29363         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29364     }
LinearAttenuation(&self) -> ::windows::runtime::Result<f32>29365     pub fn LinearAttenuation(&self) -> ::windows::runtime::Result<f32> {
29366         let this = self;
29367         unsafe {
29368             let mut result__: f32 = ::std::mem::zeroed();
29369             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
29370         }
29371     }
SetLinearAttenuation(&self, value: f32) -> ::windows::runtime::Result<()>29372     pub fn SetLinearAttenuation(&self, value: f32) -> ::windows::runtime::Result<()> {
29373         let this = self;
29374         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
29375     }
29376     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>29377     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
29378         let this = self;
29379         unsafe {
29380             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
29381             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
29382         }
29383     }
29384     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>29385     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29386         let this = self;
29387         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29388     }
QuadraticAttenuation(&self) -> ::windows::runtime::Result<f32>29389     pub fn QuadraticAttenuation(&self) -> ::windows::runtime::Result<f32> {
29390         let this = self;
29391         unsafe {
29392             let mut result__: f32 = ::std::mem::zeroed();
29393             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
29394         }
29395     }
SetQuadraticAttenuation(&self, value: f32) -> ::windows::runtime::Result<()>29396     pub fn SetQuadraticAttenuation(&self, value: f32) -> ::windows::runtime::Result<()> {
29397         let this = self;
29398         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
29399     }
Intensity(&self) -> ::windows::runtime::Result<f32>29400     pub fn Intensity(&self) -> ::windows::runtime::Result<f32> {
29401         let this = &::windows::runtime::Interface::cast::<IPointLight2>(self)?;
29402         unsafe {
29403             let mut result__: f32 = ::std::mem::zeroed();
29404             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
29405         }
29406     }
SetIntensity(&self, value: f32) -> ::windows::runtime::Result<()>29407     pub fn SetIntensity(&self, value: f32) -> ::windows::runtime::Result<()> {
29408         let this = &::windows::runtime::Interface::cast::<IPointLight2>(self)?;
29409         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
29410     }
MinAttenuationCutoff(&self) -> ::windows::runtime::Result<f32>29411     pub fn MinAttenuationCutoff(&self) -> ::windows::runtime::Result<f32> {
29412         let this = &::windows::runtime::Interface::cast::<IPointLight3>(self)?;
29413         unsafe {
29414             let mut result__: f32 = ::std::mem::zeroed();
29415             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
29416         }
29417     }
SetMinAttenuationCutoff(&self, value: f32) -> ::windows::runtime::Result<()>29418     pub fn SetMinAttenuationCutoff(&self, value: f32) -> ::windows::runtime::Result<()> {
29419         let this = &::windows::runtime::Interface::cast::<IPointLight3>(self)?;
29420         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
29421     }
MaxAttenuationCutoff(&self) -> ::windows::runtime::Result<f32>29422     pub fn MaxAttenuationCutoff(&self) -> ::windows::runtime::Result<f32> {
29423         let this = &::windows::runtime::Interface::cast::<IPointLight3>(self)?;
29424         unsafe {
29425             let mut result__: f32 = ::std::mem::zeroed();
29426             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
29427         }
29428     }
SetMaxAttenuationCutoff(&self, value: f32) -> ::windows::runtime::Result<()>29429     pub fn SetMaxAttenuationCutoff(&self, value: f32) -> ::windows::runtime::Result<()> {
29430         let this = &::windows::runtime::Interface::cast::<IPointLight3>(self)?;
29431         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
29432     }
29433     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>29434     pub fn Close(&self) -> ::windows::runtime::Result<()> {
29435         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
29436         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
29437     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>29438     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
29439         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29440         unsafe {
29441             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29442             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
29443         }
29444     }
29445     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>29446     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
29447         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29448         unsafe {
29449             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29450             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
29451         }
29452     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>29453     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
29454         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29455         unsafe {
29456             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29457             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
29458         }
29459     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>29460     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
29461         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29462         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
29463     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>29464     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
29465         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29466         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
29467     }
Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>29468     pub fn Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
29469         let this = &::windows::runtime::Interface::cast::<ICompositionLight>(self)?;
29470         unsafe {
29471             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29472             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
29473         }
29474     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>29475     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
29476         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29477         unsafe {
29478             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
29479             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
29480         }
29481     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>29482     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29483         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29484         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29485     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>29486     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
29487         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29488         unsafe {
29489             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29490             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
29491         }
29492     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>29493     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29494         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29495         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29496     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>29497     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29498         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29499         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29500     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>29501     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29502         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29503         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29504     }
ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>29505     pub fn ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
29506         let this = &::windows::runtime::Interface::cast::<ICompositionLight2>(self)?;
29507         unsafe {
29508             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29509             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
29510         }
29511     }
29512     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>29513     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
29514         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
29515         unsafe {
29516             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29517             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
29518         }
29519     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>29520     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
29521         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
29522         unsafe {
29523             let mut result__: bool = ::std::mem::zeroed();
29524             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
29525         }
29526     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>29527     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
29528         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
29529         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
29530     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>29531     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
29532         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
29533         unsafe {
29534             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29535             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
29536         }
29537     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>29538     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
29539         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
29540         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
29541     }
29542 }
29543 unsafe impl ::windows::runtime::RuntimeType for PointLight {
29544     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.PointLight;{b18545b3-0c5a-4ab0-bedc-4f3546948272})");
29545 }
29546 unsafe impl ::windows::runtime::Interface for PointLight {
29547     type Vtable = IPointLight_abi;
29548     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2978301363, 3162, 19120, [190, 220, 79, 53, 70, 148, 130, 114]);
29549 }
29550 impl ::windows::runtime::RuntimeName for PointLight {
29551     const NAME: &'static str = "Windows.UI.Composition.PointLight";
29552 }
29553 impl ::std::convert::From<PointLight> for ::windows::runtime::IUnknown {
from(value: PointLight) -> Self29554     fn from(value: PointLight) -> Self {
29555         unsafe { ::std::mem::transmute(value) }
29556     }
29557 }
29558 impl ::std::convert::From<&PointLight> for ::windows::runtime::IUnknown {
from(value: &PointLight) -> Self29559     fn from(value: &PointLight) -> Self {
29560         ::std::convert::From::from(::std::clone::Clone::clone(value))
29561     }
29562 }
29563 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PointLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>29564     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
29565         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
29566     }
29567 }
29568 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PointLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>29569     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
29570         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
29571     }
29572 }
29573 impl ::std::convert::From<PointLight> for ::windows::runtime::IInspectable {
from(value: PointLight) -> Self29574     fn from(value: PointLight) -> Self {
29575         value.0
29576     }
29577 }
29578 impl ::std::convert::From<&PointLight> for ::windows::runtime::IInspectable {
from(value: &PointLight) -> Self29579     fn from(value: &PointLight) -> Self {
29580         value.0.clone()
29581     }
29582 }
29583 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PointLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>29584     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
29585         ::windows::runtime::Param::Owned(self.0)
29586     }
29587 }
29588 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PointLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>29589     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
29590         ::windows::runtime::Param::Borrowed(&self.0)
29591     }
29592 }
29593 #[cfg(feature = "Foundation")]
29594 impl ::std::convert::TryFrom<PointLight> for super::super::Foundation::IClosable {
29595     type Error = ::windows::runtime::Error;
try_from(value: PointLight) -> ::windows::runtime::Result<Self>29596     fn try_from(value: PointLight) -> ::windows::runtime::Result<Self> {
29597         ::std::convert::TryFrom::try_from(&value)
29598     }
29599 }
29600 #[cfg(feature = "Foundation")]
29601 impl ::std::convert::TryFrom<&PointLight> for super::super::Foundation::IClosable {
29602     type Error = ::windows::runtime::Error;
try_from(value: &PointLight) -> ::windows::runtime::Result<Self>29603     fn try_from(value: &PointLight) -> ::windows::runtime::Result<Self> {
29604         ::windows::runtime::Interface::cast(value)
29605     }
29606 }
29607 #[cfg(feature = "Foundation")]
29608 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for PointLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>29609     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
29610         ::windows::runtime::IntoParam::into_param(&self)
29611     }
29612 }
29613 #[cfg(feature = "Foundation")]
29614 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &PointLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>29615     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
29616         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
29617     }
29618 }
29619 impl ::std::convert::TryFrom<PointLight> for IAnimationObject {
29620     type Error = ::windows::runtime::Error;
try_from(value: PointLight) -> ::windows::runtime::Result<Self>29621     fn try_from(value: PointLight) -> ::windows::runtime::Result<Self> {
29622         ::std::convert::TryFrom::try_from(&value)
29623     }
29624 }
29625 impl ::std::convert::TryFrom<&PointLight> for IAnimationObject {
29626     type Error = ::windows::runtime::Error;
try_from(value: &PointLight) -> ::windows::runtime::Result<Self>29627     fn try_from(value: &PointLight) -> ::windows::runtime::Result<Self> {
29628         ::windows::runtime::Interface::cast(value)
29629     }
29630 }
29631 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for PointLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>29632     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
29633         ::windows::runtime::IntoParam::into_param(&self)
29634     }
29635 }
29636 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &PointLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>29637     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
29638         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
29639     }
29640 }
29641 impl ::std::convert::From<PointLight> for CompositionLight {
from(value: PointLight) -> Self29642     fn from(value: PointLight) -> Self {
29643         ::std::convert::Into::<CompositionLight>::into(&value)
29644     }
29645 }
29646 impl ::std::convert::From<&PointLight> for CompositionLight {
from(value: &PointLight) -> Self29647     fn from(value: &PointLight) -> Self {
29648         ::windows::runtime::Interface::cast(value).unwrap()
29649     }
29650 }
29651 impl<'a> ::windows::runtime::IntoParam<'a, CompositionLight> for PointLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionLight>29652     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionLight> {
29653         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionLight>::into(self))
29654     }
29655 }
29656 impl<'a> ::windows::runtime::IntoParam<'a, CompositionLight> for &PointLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionLight>29657     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionLight> {
29658         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionLight>::into(::std::clone::Clone::clone(self)))
29659     }
29660 }
29661 impl ::std::convert::From<PointLight> for CompositionObject {
from(value: PointLight) -> Self29662     fn from(value: PointLight) -> Self {
29663         ::std::convert::Into::<CompositionObject>::into(&value)
29664     }
29665 }
29666 impl ::std::convert::From<&PointLight> for CompositionObject {
from(value: &PointLight) -> Self29667     fn from(value: &PointLight) -> Self {
29668         ::windows::runtime::Interface::cast(value).unwrap()
29669     }
29670 }
29671 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for PointLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>29672     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
29673         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
29674     }
29675 }
29676 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &PointLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>29677     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
29678         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
29679     }
29680 }
29681 unsafe impl ::std::marker::Send for PointLight {}
29682 unsafe impl ::std::marker::Sync for PointLight {}
29683 #[repr(transparent)]
29684 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
29685 pub struct PowerEasingFunction(::windows::runtime::IInspectable);
29686 impl PowerEasingFunction {
Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode>29687     pub fn Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode> {
29688         let this = self;
29689         unsafe {
29690             let mut result__: CompositionEasingFunctionMode = ::std::mem::zeroed();
29691             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEasingFunctionMode>(result__)
29692         }
29693     }
Power(&self) -> ::windows::runtime::Result<f32>29694     pub fn Power(&self) -> ::windows::runtime::Result<f32> {
29695         let this = self;
29696         unsafe {
29697             let mut result__: f32 = ::std::mem::zeroed();
29698             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
29699         }
29700     }
29701     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>29702     pub fn Close(&self) -> ::windows::runtime::Result<()> {
29703         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
29704         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
29705     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>29706     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
29707         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29708         unsafe {
29709             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29710             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
29711         }
29712     }
29713     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>29714     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
29715         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29716         unsafe {
29717             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29718             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
29719         }
29720     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>29721     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
29722         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29723         unsafe {
29724             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29725             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
29726         }
29727     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>29728     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
29729         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29730         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
29731     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>29732     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
29733         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29734         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
29735     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>29736     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
29737         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29738         unsafe {
29739             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
29740             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
29741         }
29742     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>29743     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29744         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29745         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29746     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>29747     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
29748         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29749         unsafe {
29750             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29751             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
29752         }
29753     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>29754     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29755         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29756         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29757     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>29758     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29759         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29760         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29761     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>29762     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
29763         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
29764         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
29765     }
29766     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>29767     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
29768         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
29769         unsafe {
29770             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29771             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
29772         }
29773     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>29774     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
29775         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
29776         unsafe {
29777             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29778             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
29779         }
29780     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>29781     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
29782         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
29783         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
29784     }
29785 }
29786 unsafe impl ::windows::runtime::RuntimeType for PowerEasingFunction {
29787     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.PowerEasingFunction;{c3ff53d6-138b-5815-891a-b7f615ccc563})");
29788 }
29789 unsafe impl ::windows::runtime::Interface for PowerEasingFunction {
29790     type Vtable = IPowerEasingFunction_abi;
29791     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3288290262, 5003, 22549, [137, 26, 183, 246, 21, 204, 197, 99]);
29792 }
29793 impl ::windows::runtime::RuntimeName for PowerEasingFunction {
29794     const NAME: &'static str = "Windows.UI.Composition.PowerEasingFunction";
29795 }
29796 impl ::std::convert::From<PowerEasingFunction> for ::windows::runtime::IUnknown {
from(value: PowerEasingFunction) -> Self29797     fn from(value: PowerEasingFunction) -> Self {
29798         unsafe { ::std::mem::transmute(value) }
29799     }
29800 }
29801 impl ::std::convert::From<&PowerEasingFunction> for ::windows::runtime::IUnknown {
from(value: &PowerEasingFunction) -> Self29802     fn from(value: &PowerEasingFunction) -> Self {
29803         ::std::convert::From::from(::std::clone::Clone::clone(value))
29804     }
29805 }
29806 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>29807     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
29808         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
29809     }
29810 }
29811 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>29812     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
29813         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
29814     }
29815 }
29816 impl ::std::convert::From<PowerEasingFunction> for ::windows::runtime::IInspectable {
from(value: PowerEasingFunction) -> Self29817     fn from(value: PowerEasingFunction) -> Self {
29818         value.0
29819     }
29820 }
29821 impl ::std::convert::From<&PowerEasingFunction> for ::windows::runtime::IInspectable {
from(value: &PowerEasingFunction) -> Self29822     fn from(value: &PowerEasingFunction) -> Self {
29823         value.0.clone()
29824     }
29825 }
29826 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>29827     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
29828         ::windows::runtime::Param::Owned(self.0)
29829     }
29830 }
29831 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>29832     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
29833         ::windows::runtime::Param::Borrowed(&self.0)
29834     }
29835 }
29836 #[cfg(feature = "Foundation")]
29837 impl ::std::convert::TryFrom<PowerEasingFunction> for super::super::Foundation::IClosable {
29838     type Error = ::windows::runtime::Error;
try_from(value: PowerEasingFunction) -> ::windows::runtime::Result<Self>29839     fn try_from(value: PowerEasingFunction) -> ::windows::runtime::Result<Self> {
29840         ::std::convert::TryFrom::try_from(&value)
29841     }
29842 }
29843 #[cfg(feature = "Foundation")]
29844 impl ::std::convert::TryFrom<&PowerEasingFunction> for super::super::Foundation::IClosable {
29845     type Error = ::windows::runtime::Error;
try_from(value: &PowerEasingFunction) -> ::windows::runtime::Result<Self>29846     fn try_from(value: &PowerEasingFunction) -> ::windows::runtime::Result<Self> {
29847         ::windows::runtime::Interface::cast(value)
29848     }
29849 }
29850 #[cfg(feature = "Foundation")]
29851 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>29852     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
29853         ::windows::runtime::IntoParam::into_param(&self)
29854     }
29855 }
29856 #[cfg(feature = "Foundation")]
29857 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>29858     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
29859         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
29860     }
29861 }
29862 impl ::std::convert::TryFrom<PowerEasingFunction> for IAnimationObject {
29863     type Error = ::windows::runtime::Error;
try_from(value: PowerEasingFunction) -> ::windows::runtime::Result<Self>29864     fn try_from(value: PowerEasingFunction) -> ::windows::runtime::Result<Self> {
29865         ::std::convert::TryFrom::try_from(&value)
29866     }
29867 }
29868 impl ::std::convert::TryFrom<&PowerEasingFunction> for IAnimationObject {
29869     type Error = ::windows::runtime::Error;
try_from(value: &PowerEasingFunction) -> ::windows::runtime::Result<Self>29870     fn try_from(value: &PowerEasingFunction) -> ::windows::runtime::Result<Self> {
29871         ::windows::runtime::Interface::cast(value)
29872     }
29873 }
29874 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>29875     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
29876         ::windows::runtime::IntoParam::into_param(&self)
29877     }
29878 }
29879 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>29880     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
29881         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
29882     }
29883 }
29884 impl ::std::convert::From<PowerEasingFunction> for CompositionEasingFunction {
from(value: PowerEasingFunction) -> Self29885     fn from(value: PowerEasingFunction) -> Self {
29886         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
29887     }
29888 }
29889 impl ::std::convert::From<&PowerEasingFunction> for CompositionEasingFunction {
from(value: &PowerEasingFunction) -> Self29890     fn from(value: &PowerEasingFunction) -> Self {
29891         ::windows::runtime::Interface::cast(value).unwrap()
29892     }
29893 }
29894 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>29895     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
29896         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
29897     }
29898 }
29899 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>29900     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
29901         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
29902     }
29903 }
29904 impl ::std::convert::From<PowerEasingFunction> for CompositionObject {
from(value: PowerEasingFunction) -> Self29905     fn from(value: PowerEasingFunction) -> Self {
29906         ::std::convert::Into::<CompositionObject>::into(&value)
29907     }
29908 }
29909 impl ::std::convert::From<&PowerEasingFunction> for CompositionObject {
from(value: &PowerEasingFunction) -> Self29910     fn from(value: &PowerEasingFunction) -> Self {
29911         ::windows::runtime::Interface::cast(value).unwrap()
29912     }
29913 }
29914 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>29915     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
29916         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
29917     }
29918 }
29919 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &PowerEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>29920     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
29921         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
29922     }
29923 }
29924 unsafe impl ::std::marker::Send for PowerEasingFunction {}
29925 unsafe impl ::std::marker::Sync for PowerEasingFunction {}
29926 #[repr(transparent)]
29927 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
29928 pub struct QuaternionKeyFrameAnimation(::windows::runtime::IInspectable);
29929 impl QuaternionKeyFrameAnimation {
29930     #[cfg(feature = "Foundation_Numerics")]
InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>29931     pub fn InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
29932         let this = self;
29933         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
29934     }
29935     #[cfg(feature = "Foundation_Numerics")]
InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>29936     pub fn InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
29937         let this = self;
29938         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
29939     }
29940     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>29941     pub fn Close(&self) -> ::windows::runtime::Result<()> {
29942         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
29943         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
29944     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>29945     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
29946         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29947         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
29948     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>29949     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
29950         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29951         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
29952     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>29953     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
29954         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29955         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
29956     }
29957     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>29958     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
29959         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29960         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
29961     }
29962     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>29963     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
29964         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29965         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
29966     }
29967     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>29968     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
29969         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29970         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
29971     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>29972     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
29973         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29974         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
29975     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>29976     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
29977         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29978         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
29979     }
29980     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>29981     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
29982         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29983         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
29984     }
29985     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>29986     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
29987         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29988         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
29989     }
29990     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>29991     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
29992         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
29993         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
29994     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>29995     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
29996         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
29997         unsafe {
29998             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29999             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
30000         }
30001     }
30002     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>30003     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
30004         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30005         unsafe {
30006             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30007             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
30008         }
30009     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>30010     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
30011         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30012         unsafe {
30013             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30014             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
30015         }
30016     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>30017     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
30018         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30019         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
30020     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>30021     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
30022         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30023         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
30024     }
30025     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>30026     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
30027         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30028         unsafe {
30029             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
30030             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
30031         }
30032     }
30033     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>30034     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30035         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30036         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30037     }
30038     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>30039     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
30040         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30041         unsafe {
30042             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
30043             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
30044         }
30045     }
30046     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>30047     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30048         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30049         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30050     }
IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior>30051     pub fn IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior> {
30052         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30053         unsafe {
30054             let mut result__: AnimationIterationBehavior = ::std::mem::zeroed();
30055             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationIterationBehavior>(result__)
30056         }
30057     }
SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()>30058     pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()> {
30059         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30060         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
30061     }
IterationCount(&self) -> ::windows::runtime::Result<i32>30062     pub fn IterationCount(&self) -> ::windows::runtime::Result<i32> {
30063         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30064         unsafe {
30065             let mut result__: i32 = ::std::mem::zeroed();
30066             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
30067         }
30068     }
SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()>30069     pub fn SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()> {
30070         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30071         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
30072     }
KeyFrameCount(&self) -> ::windows::runtime::Result<i32>30073     pub fn KeyFrameCount(&self) -> ::windows::runtime::Result<i32> {
30074         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30075         unsafe {
30076             let mut result__: i32 = ::std::mem::zeroed();
30077             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
30078         }
30079     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>30080     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
30081         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30082         unsafe {
30083             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
30084             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
30085         }
30086     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>30087     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
30088         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30089         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
30090     }
InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>30091     pub fn InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
30092         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30093         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
30094     }
InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>30095     pub fn InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
30096         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
30097         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
30098     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>30099     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
30100         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
30101         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
30102     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>30103     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
30104         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
30105         unsafe {
30106             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
30107             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
30108         }
30109     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>30110     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30111         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
30112         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30113     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>30114     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
30115         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30116         unsafe {
30117             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
30118             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
30119         }
30120     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>30121     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30122         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30123         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30124     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>30125     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
30126         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30127         unsafe {
30128             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30129             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
30130         }
30131     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>30132     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30133         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30134         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30135     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>30136     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30137         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30138         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30139     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>30140     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30141         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30142         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30143     }
Direction(&self) -> ::windows::runtime::Result<AnimationDirection>30144     pub fn Direction(&self) -> ::windows::runtime::Result<AnimationDirection> {
30145         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
30146         unsafe {
30147             let mut result__: AnimationDirection = ::std::mem::zeroed();
30148             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDirection>(result__)
30149         }
30150     }
SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()>30151     pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()> {
30152         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
30153         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
30154     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>30155     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
30156         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
30157         unsafe {
30158             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
30159             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
30160         }
30161     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>30162     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
30163         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
30164         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
30165     }
30166     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>30167     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
30168         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
30169         unsafe {
30170             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30171             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
30172         }
30173     }
30174     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>30175     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
30176         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
30177         unsafe {
30178             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30179             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
30180         }
30181     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>30182     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
30183         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
30184         unsafe {
30185             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30186             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
30187         }
30188     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>30189     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
30190         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
30191         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
30192     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>30193     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
30194         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
30195         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
30196     }
30197 }
30198 unsafe impl ::windows::runtime::RuntimeType for QuaternionKeyFrameAnimation {
30199     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.QuaternionKeyFrameAnimation;{404e5835-ecf6-4240-8520-671279cf36bc})");
30200 }
30201 unsafe impl ::windows::runtime::Interface for QuaternionKeyFrameAnimation {
30202     type Vtable = IQuaternionKeyFrameAnimation_abi;
30203     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1078876213, 60662, 16960, [133, 32, 103, 18, 121, 207, 54, 188]);
30204 }
30205 impl ::windows::runtime::RuntimeName for QuaternionKeyFrameAnimation {
30206     const NAME: &'static str = "Windows.UI.Composition.QuaternionKeyFrameAnimation";
30207 }
30208 impl ::std::convert::From<QuaternionKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: QuaternionKeyFrameAnimation) -> Self30209     fn from(value: QuaternionKeyFrameAnimation) -> Self {
30210         unsafe { ::std::mem::transmute(value) }
30211     }
30212 }
30213 impl ::std::convert::From<&QuaternionKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: &QuaternionKeyFrameAnimation) -> Self30214     fn from(value: &QuaternionKeyFrameAnimation) -> Self {
30215         ::std::convert::From::from(::std::clone::Clone::clone(value))
30216     }
30217 }
30218 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>30219     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
30220         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
30221     }
30222 }
30223 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>30224     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
30225         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
30226     }
30227 }
30228 impl ::std::convert::From<QuaternionKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: QuaternionKeyFrameAnimation) -> Self30229     fn from(value: QuaternionKeyFrameAnimation) -> Self {
30230         value.0
30231     }
30232 }
30233 impl ::std::convert::From<&QuaternionKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: &QuaternionKeyFrameAnimation) -> Self30234     fn from(value: &QuaternionKeyFrameAnimation) -> Self {
30235         value.0.clone()
30236     }
30237 }
30238 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>30239     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
30240         ::windows::runtime::Param::Owned(self.0)
30241     }
30242 }
30243 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>30244     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
30245         ::windows::runtime::Param::Borrowed(&self.0)
30246     }
30247 }
30248 #[cfg(feature = "Foundation")]
30249 impl ::std::convert::TryFrom<QuaternionKeyFrameAnimation> for super::super::Foundation::IClosable {
30250     type Error = ::windows::runtime::Error;
try_from(value: QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self>30251     fn try_from(value: QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
30252         ::std::convert::TryFrom::try_from(&value)
30253     }
30254 }
30255 #[cfg(feature = "Foundation")]
30256 impl ::std::convert::TryFrom<&QuaternionKeyFrameAnimation> for super::super::Foundation::IClosable {
30257     type Error = ::windows::runtime::Error;
try_from(value: &QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self>30258     fn try_from(value: &QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
30259         ::windows::runtime::Interface::cast(value)
30260     }
30261 }
30262 #[cfg(feature = "Foundation")]
30263 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>30264     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
30265         ::windows::runtime::IntoParam::into_param(&self)
30266     }
30267 }
30268 #[cfg(feature = "Foundation")]
30269 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>30270     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
30271         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
30272     }
30273 }
30274 impl ::std::convert::TryFrom<QuaternionKeyFrameAnimation> for ICompositionAnimationBase {
30275     type Error = ::windows::runtime::Error;
try_from(value: QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self>30276     fn try_from(value: QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
30277         ::std::convert::TryFrom::try_from(&value)
30278     }
30279 }
30280 impl ::std::convert::TryFrom<&QuaternionKeyFrameAnimation> for ICompositionAnimationBase {
30281     type Error = ::windows::runtime::Error;
try_from(value: &QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self>30282     fn try_from(value: &QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
30283         ::windows::runtime::Interface::cast(value)
30284     }
30285 }
30286 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>30287     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
30288         ::windows::runtime::IntoParam::into_param(&self)
30289     }
30290 }
30291 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>30292     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
30293         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
30294     }
30295 }
30296 impl ::std::convert::TryFrom<QuaternionKeyFrameAnimation> for IAnimationObject {
30297     type Error = ::windows::runtime::Error;
try_from(value: QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self>30298     fn try_from(value: QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
30299         ::std::convert::TryFrom::try_from(&value)
30300     }
30301 }
30302 impl ::std::convert::TryFrom<&QuaternionKeyFrameAnimation> for IAnimationObject {
30303     type Error = ::windows::runtime::Error;
try_from(value: &QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self>30304     fn try_from(value: &QuaternionKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
30305         ::windows::runtime::Interface::cast(value)
30306     }
30307 }
30308 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>30309     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
30310         ::windows::runtime::IntoParam::into_param(&self)
30311     }
30312 }
30313 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>30314     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
30315         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
30316     }
30317 }
30318 impl ::std::convert::From<QuaternionKeyFrameAnimation> for KeyFrameAnimation {
from(value: QuaternionKeyFrameAnimation) -> Self30319     fn from(value: QuaternionKeyFrameAnimation) -> Self {
30320         ::std::convert::Into::<KeyFrameAnimation>::into(&value)
30321     }
30322 }
30323 impl ::std::convert::From<&QuaternionKeyFrameAnimation> for KeyFrameAnimation {
from(value: &QuaternionKeyFrameAnimation) -> Self30324     fn from(value: &QuaternionKeyFrameAnimation) -> Self {
30325         ::windows::runtime::Interface::cast(value).unwrap()
30326     }
30327 }
30328 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>30329     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
30330         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(self))
30331     }
30332 }
30333 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for &QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>30334     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
30335         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(::std::clone::Clone::clone(self)))
30336     }
30337 }
30338 impl ::std::convert::From<QuaternionKeyFrameAnimation> for CompositionAnimation {
from(value: QuaternionKeyFrameAnimation) -> Self30339     fn from(value: QuaternionKeyFrameAnimation) -> Self {
30340         ::std::convert::Into::<CompositionAnimation>::into(&value)
30341     }
30342 }
30343 impl ::std::convert::From<&QuaternionKeyFrameAnimation> for CompositionAnimation {
from(value: &QuaternionKeyFrameAnimation) -> Self30344     fn from(value: &QuaternionKeyFrameAnimation) -> Self {
30345         ::windows::runtime::Interface::cast(value).unwrap()
30346     }
30347 }
30348 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>30349     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
30350         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
30351     }
30352 }
30353 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>30354     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
30355         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
30356     }
30357 }
30358 impl ::std::convert::From<QuaternionKeyFrameAnimation> for CompositionObject {
from(value: QuaternionKeyFrameAnimation) -> Self30359     fn from(value: QuaternionKeyFrameAnimation) -> Self {
30360         ::std::convert::Into::<CompositionObject>::into(&value)
30361     }
30362 }
30363 impl ::std::convert::From<&QuaternionKeyFrameAnimation> for CompositionObject {
from(value: &QuaternionKeyFrameAnimation) -> Self30364     fn from(value: &QuaternionKeyFrameAnimation) -> Self {
30365         ::windows::runtime::Interface::cast(value).unwrap()
30366     }
30367 }
30368 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>30369     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
30370         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
30371     }
30372 }
30373 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &QuaternionKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>30374     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
30375         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
30376     }
30377 }
30378 unsafe impl ::std::marker::Send for QuaternionKeyFrameAnimation {}
30379 unsafe impl ::std::marker::Sync for QuaternionKeyFrameAnimation {}
30380 #[repr(transparent)]
30381 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
30382 pub struct RectangleClip(::windows::runtime::IInspectable);
30383 impl RectangleClip {
Bottom(&self) -> ::windows::runtime::Result<f32>30384     pub fn Bottom(&self) -> ::windows::runtime::Result<f32> {
30385         let this = self;
30386         unsafe {
30387             let mut result__: f32 = ::std::mem::zeroed();
30388             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
30389         }
30390     }
SetBottom(&self, value: f32) -> ::windows::runtime::Result<()>30391     pub fn SetBottom(&self, value: f32) -> ::windows::runtime::Result<()> {
30392         let this = self;
30393         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
30394     }
30395     #[cfg(feature = "Foundation_Numerics")]
BottomLeftRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>30396     pub fn BottomLeftRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
30397         let this = self;
30398         unsafe {
30399             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
30400             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
30401         }
30402     }
30403     #[cfg(feature = "Foundation_Numerics")]
SetBottomLeftRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30404     pub fn SetBottomLeftRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30405         let this = self;
30406         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30407     }
30408     #[cfg(feature = "Foundation_Numerics")]
BottomRightRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>30409     pub fn BottomRightRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
30410         let this = self;
30411         unsafe {
30412             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
30413             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
30414         }
30415     }
30416     #[cfg(feature = "Foundation_Numerics")]
SetBottomRightRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30417     pub fn SetBottomRightRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30418         let this = self;
30419         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30420     }
Left(&self) -> ::windows::runtime::Result<f32>30421     pub fn Left(&self) -> ::windows::runtime::Result<f32> {
30422         let this = self;
30423         unsafe {
30424             let mut result__: f32 = ::std::mem::zeroed();
30425             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
30426         }
30427     }
SetLeft(&self, value: f32) -> ::windows::runtime::Result<()>30428     pub fn SetLeft(&self, value: f32) -> ::windows::runtime::Result<()> {
30429         let this = self;
30430         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
30431     }
Right(&self) -> ::windows::runtime::Result<f32>30432     pub fn Right(&self) -> ::windows::runtime::Result<f32> {
30433         let this = self;
30434         unsafe {
30435             let mut result__: f32 = ::std::mem::zeroed();
30436             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
30437         }
30438     }
SetRight(&self, value: f32) -> ::windows::runtime::Result<()>30439     pub fn SetRight(&self, value: f32) -> ::windows::runtime::Result<()> {
30440         let this = self;
30441         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
30442     }
Top(&self) -> ::windows::runtime::Result<f32>30443     pub fn Top(&self) -> ::windows::runtime::Result<f32> {
30444         let this = self;
30445         unsafe {
30446             let mut result__: f32 = ::std::mem::zeroed();
30447             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
30448         }
30449     }
SetTop(&self, value: f32) -> ::windows::runtime::Result<()>30450     pub fn SetTop(&self, value: f32) -> ::windows::runtime::Result<()> {
30451         let this = self;
30452         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
30453     }
30454     #[cfg(feature = "Foundation_Numerics")]
TopLeftRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>30455     pub fn TopLeftRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
30456         let this = self;
30457         unsafe {
30458             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
30459             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
30460         }
30461     }
30462     #[cfg(feature = "Foundation_Numerics")]
SetTopLeftRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30463     pub fn SetTopLeftRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30464         let this = self;
30465         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30466     }
30467     #[cfg(feature = "Foundation_Numerics")]
TopRightRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>30468     pub fn TopRightRadius(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
30469         let this = self;
30470         unsafe {
30471             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
30472             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
30473         }
30474     }
30475     #[cfg(feature = "Foundation_Numerics")]
SetTopRightRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30476     pub fn SetTopRightRadius<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30477         let this = self;
30478         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30479     }
30480     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>30481     pub fn Close(&self) -> ::windows::runtime::Result<()> {
30482         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
30483         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
30484     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>30485     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
30486         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30487         unsafe {
30488             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30489             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
30490         }
30491     }
30492     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>30493     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
30494         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30495         unsafe {
30496             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30497             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
30498         }
30499     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>30500     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
30501         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30502         unsafe {
30503             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30504             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
30505         }
30506     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>30507     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
30508         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30509         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
30510     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>30511     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
30512         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30513         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
30514     }
30515     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>30516     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
30517         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30518         unsafe {
30519             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
30520             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
30521         }
30522     }
30523     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30524     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30525         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30526         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30527     }
30528     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>30529     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
30530         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30531         unsafe {
30532             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
30533             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
30534         }
30535     }
30536     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30537     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30538         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30539         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30540     }
30541     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>30542     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
30543         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30544         unsafe {
30545             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
30546             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
30547         }
30548     }
30549     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30550     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30551         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30552         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30553     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>30554     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
30555         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30556         unsafe {
30557             let mut result__: f32 = ::std::mem::zeroed();
30558             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
30559         }
30560     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>30561     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
30562         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30563         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
30564     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>30565     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
30566         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30567         unsafe {
30568             let mut result__: f32 = ::std::mem::zeroed();
30569             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
30570         }
30571     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>30572     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
30573         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30574         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
30575     }
30576     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>30577     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
30578         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30579         unsafe {
30580             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
30581             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
30582         }
30583     }
30584     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30585     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30586         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30587         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30588     }
30589     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2>30590     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix3x2> {
30591         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30592         unsafe {
30593             let mut result__: super::super::Foundation::Numerics::Matrix3x2 = ::std::mem::zeroed();
30594             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix3x2>(result__)
30595         }
30596     }
30597     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30598     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30599         let this = &::windows::runtime::Interface::cast::<ICompositionClip2>(self)?;
30600         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30601     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>30602     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
30603         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30604         unsafe {
30605             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
30606             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
30607         }
30608     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>30609     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30610         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30611         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30612     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>30613     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
30614         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30615         unsafe {
30616             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30617             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
30618         }
30619     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>30620     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30621         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30622         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30623     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>30624     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30625         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30626         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30627     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>30628     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30629         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
30630         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30631     }
30632     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>30633     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
30634         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
30635         unsafe {
30636             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30637             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
30638         }
30639     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>30640     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
30641         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
30642         unsafe {
30643             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30644             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
30645         }
30646     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>30647     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
30648         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
30649         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
30650     }
30651 }
30652 unsafe impl ::windows::runtime::RuntimeType for RectangleClip {
30653     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.RectangleClip;{b3e7549e-00b4-5b53-8be8-353f6c433101})");
30654 }
30655 unsafe impl ::windows::runtime::Interface for RectangleClip {
30656     type Vtable = IRectangleClip_abi;
30657     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3018282142, 180, 23379, [139, 232, 53, 63, 108, 67, 49, 1]);
30658 }
30659 impl ::windows::runtime::RuntimeName for RectangleClip {
30660     const NAME: &'static str = "Windows.UI.Composition.RectangleClip";
30661 }
30662 impl ::std::convert::From<RectangleClip> for ::windows::runtime::IUnknown {
from(value: RectangleClip) -> Self30663     fn from(value: RectangleClip) -> Self {
30664         unsafe { ::std::mem::transmute(value) }
30665     }
30666 }
30667 impl ::std::convert::From<&RectangleClip> for ::windows::runtime::IUnknown {
from(value: &RectangleClip) -> Self30668     fn from(value: &RectangleClip) -> Self {
30669         ::std::convert::From::from(::std::clone::Clone::clone(value))
30670     }
30671 }
30672 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>30673     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
30674         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
30675     }
30676 }
30677 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>30678     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
30679         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
30680     }
30681 }
30682 impl ::std::convert::From<RectangleClip> for ::windows::runtime::IInspectable {
from(value: RectangleClip) -> Self30683     fn from(value: RectangleClip) -> Self {
30684         value.0
30685     }
30686 }
30687 impl ::std::convert::From<&RectangleClip> for ::windows::runtime::IInspectable {
from(value: &RectangleClip) -> Self30688     fn from(value: &RectangleClip) -> Self {
30689         value.0.clone()
30690     }
30691 }
30692 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>30693     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
30694         ::windows::runtime::Param::Owned(self.0)
30695     }
30696 }
30697 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>30698     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
30699         ::windows::runtime::Param::Borrowed(&self.0)
30700     }
30701 }
30702 #[cfg(feature = "Foundation")]
30703 impl ::std::convert::TryFrom<RectangleClip> for super::super::Foundation::IClosable {
30704     type Error = ::windows::runtime::Error;
try_from(value: RectangleClip) -> ::windows::runtime::Result<Self>30705     fn try_from(value: RectangleClip) -> ::windows::runtime::Result<Self> {
30706         ::std::convert::TryFrom::try_from(&value)
30707     }
30708 }
30709 #[cfg(feature = "Foundation")]
30710 impl ::std::convert::TryFrom<&RectangleClip> for super::super::Foundation::IClosable {
30711     type Error = ::windows::runtime::Error;
try_from(value: &RectangleClip) -> ::windows::runtime::Result<Self>30712     fn try_from(value: &RectangleClip) -> ::windows::runtime::Result<Self> {
30713         ::windows::runtime::Interface::cast(value)
30714     }
30715 }
30716 #[cfg(feature = "Foundation")]
30717 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>30718     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
30719         ::windows::runtime::IntoParam::into_param(&self)
30720     }
30721 }
30722 #[cfg(feature = "Foundation")]
30723 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>30724     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
30725         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
30726     }
30727 }
30728 impl ::std::convert::TryFrom<RectangleClip> for IAnimationObject {
30729     type Error = ::windows::runtime::Error;
try_from(value: RectangleClip) -> ::windows::runtime::Result<Self>30730     fn try_from(value: RectangleClip) -> ::windows::runtime::Result<Self> {
30731         ::std::convert::TryFrom::try_from(&value)
30732     }
30733 }
30734 impl ::std::convert::TryFrom<&RectangleClip> for IAnimationObject {
30735     type Error = ::windows::runtime::Error;
try_from(value: &RectangleClip) -> ::windows::runtime::Result<Self>30736     fn try_from(value: &RectangleClip) -> ::windows::runtime::Result<Self> {
30737         ::windows::runtime::Interface::cast(value)
30738     }
30739 }
30740 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>30741     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
30742         ::windows::runtime::IntoParam::into_param(&self)
30743     }
30744 }
30745 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>30746     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
30747         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
30748     }
30749 }
30750 impl ::std::convert::From<RectangleClip> for CompositionClip {
from(value: RectangleClip) -> Self30751     fn from(value: RectangleClip) -> Self {
30752         ::std::convert::Into::<CompositionClip>::into(&value)
30753     }
30754 }
30755 impl ::std::convert::From<&RectangleClip> for CompositionClip {
from(value: &RectangleClip) -> Self30756     fn from(value: &RectangleClip) -> Self {
30757         ::windows::runtime::Interface::cast(value).unwrap()
30758     }
30759 }
30760 impl<'a> ::windows::runtime::IntoParam<'a, CompositionClip> for RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionClip>30761     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionClip> {
30762         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionClip>::into(self))
30763     }
30764 }
30765 impl<'a> ::windows::runtime::IntoParam<'a, CompositionClip> for &RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionClip>30766     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionClip> {
30767         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionClip>::into(::std::clone::Clone::clone(self)))
30768     }
30769 }
30770 impl ::std::convert::From<RectangleClip> for CompositionObject {
from(value: RectangleClip) -> Self30771     fn from(value: RectangleClip) -> Self {
30772         ::std::convert::Into::<CompositionObject>::into(&value)
30773     }
30774 }
30775 impl ::std::convert::From<&RectangleClip> for CompositionObject {
from(value: &RectangleClip) -> Self30776     fn from(value: &RectangleClip) -> Self {
30777         ::windows::runtime::Interface::cast(value).unwrap()
30778     }
30779 }
30780 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>30781     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
30782         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
30783     }
30784 }
30785 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &RectangleClip {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>30786     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
30787         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
30788     }
30789 }
30790 unsafe impl ::std::marker::Send for RectangleClip {}
30791 unsafe impl ::std::marker::Sync for RectangleClip {}
30792 #[repr(transparent)]
30793 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
30794 pub struct RedirectVisual(::windows::runtime::IInspectable);
30795 impl RedirectVisual {
Source(&self) -> ::windows::runtime::Result<Visual>30796     pub fn Source(&self) -> ::windows::runtime::Result<Visual> {
30797         let this = self;
30798         unsafe {
30799             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30800             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
30801         }
30802     }
SetSource<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>30803     pub fn SetSource<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30804         let this = self;
30805         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30806     }
30807     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>30808     pub fn Close(&self) -> ::windows::runtime::Result<()> {
30809         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
30810         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
30811     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>30812     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
30813         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30814         unsafe {
30815             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30816             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
30817         }
30818     }
30819     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>30820     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
30821         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30822         unsafe {
30823             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30824             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
30825         }
30826     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>30827     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
30828         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30829         unsafe {
30830             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30831             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
30832         }
30833     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>30834     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
30835         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30836         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
30837     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>30838     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
30839         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
30840         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
30841     }
Children(&self) -> ::windows::runtime::Result<VisualCollection>30842     pub fn Children(&self) -> ::windows::runtime::Result<VisualCollection> {
30843         let this = &::windows::runtime::Interface::cast::<IContainerVisual>(self)?;
30844         unsafe {
30845             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30846             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualCollection>(result__)
30847         }
30848     }
30849     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>30850     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
30851         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30852         unsafe {
30853             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
30854             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
30855         }
30856     }
30857     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>30858     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30859         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30860         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30861     }
BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility>30862     pub fn BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility> {
30863         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30864         unsafe {
30865             let mut result__: CompositionBackfaceVisibility = ::std::mem::zeroed();
30866             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackfaceVisibility>(result__)
30867         }
30868     }
SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()>30869     pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()> {
30870         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30871         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
30872     }
BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode>30873     pub fn BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode> {
30874         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30875         unsafe {
30876             let mut result__: CompositionBorderMode = ::std::mem::zeroed();
30877             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBorderMode>(result__)
30878         }
30879     }
SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()>30880     pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()> {
30881         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30882         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
30883     }
30884     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>30885     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
30886         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30887         unsafe {
30888             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
30889             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
30890         }
30891     }
30892     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>30893     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30894         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30895         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30896     }
Clip(&self) -> ::windows::runtime::Result<CompositionClip>30897     pub fn Clip(&self) -> ::windows::runtime::Result<CompositionClip> {
30898         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30899         unsafe {
30900             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30901             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionClip>(result__)
30902         }
30903     }
SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()>30904     pub fn SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30905         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30906         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30907     }
CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode>30908     pub fn CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode> {
30909         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30910         unsafe {
30911             let mut result__: CompositionCompositeMode = ::std::mem::zeroed();
30912             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionCompositeMode>(result__)
30913         }
30914     }
SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()>30915     pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()> {
30916         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30917         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
30918     }
IsVisible(&self) -> ::windows::runtime::Result<bool>30919     pub fn IsVisible(&self) -> ::windows::runtime::Result<bool> {
30920         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30921         unsafe {
30922             let mut result__: bool = ::std::mem::zeroed();
30923             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
30924         }
30925     }
SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()>30926     pub fn SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
30927         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30928         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
30929     }
30930     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>30931     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
30932         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30933         unsafe {
30934             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
30935             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
30936         }
30937     }
30938     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>30939     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30940         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30941         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30942     }
Opacity(&self) -> ::windows::runtime::Result<f32>30943     pub fn Opacity(&self) -> ::windows::runtime::Result<f32> {
30944         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30945         unsafe {
30946             let mut result__: f32 = ::std::mem::zeroed();
30947             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
30948         }
30949     }
SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()>30950     pub fn SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()> {
30951         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30952         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
30953     }
30954     #[cfg(feature = "Foundation_Numerics")]
Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion>30955     pub fn Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion> {
30956         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30957         unsafe {
30958             let mut result__: super::super::Foundation::Numerics::Quaternion = ::std::mem::zeroed();
30959             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Quaternion>(result__)
30960         }
30961     }
30962     #[cfg(feature = "Foundation_Numerics")]
SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()>30963     pub fn SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
30964         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30965         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
30966     }
Parent(&self) -> ::windows::runtime::Result<ContainerVisual>30967     pub fn Parent(&self) -> ::windows::runtime::Result<ContainerVisual> {
30968         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30969         unsafe {
30970             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
30971             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContainerVisual>(result__)
30972         }
30973     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>30974     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
30975         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30976         unsafe {
30977             let mut result__: f32 = ::std::mem::zeroed();
30978             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
30979         }
30980     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>30981     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
30982         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30983         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
30984     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>30985     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
30986         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30987         unsafe {
30988             let mut result__: f32 = ::std::mem::zeroed();
30989             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
30990         }
30991     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>30992     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
30993         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30994         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value).ok() }
30995     }
30996     #[cfg(feature = "Foundation_Numerics")]
RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>30997     pub fn RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
30998         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
30999         unsafe {
31000             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
31001             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
31002         }
31003     }
31004     #[cfg(feature = "Foundation_Numerics")]
SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>31005     pub fn SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31006         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
31007         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31008     }
31009     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>31010     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
31011         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
31012         unsafe {
31013             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
31014             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
31015         }
31016     }
31017     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>31018     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31019         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
31020         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31021     }
31022     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>31023     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
31024         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
31025         unsafe {
31026             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
31027             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
31028         }
31029     }
31030     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>31031     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31032         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
31033         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31034     }
31035     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4>31036     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4> {
31037         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
31038         unsafe {
31039             let mut result__: super::super::Foundation::Numerics::Matrix4x4 = ::std::mem::zeroed();
31040             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix4x4>(result__)
31041         }
31042     }
31043     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()>31044     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31045         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
31046         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31047     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>31048     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
31049         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31050         unsafe {
31051             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
31052             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
31053         }
31054     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>31055     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31056         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31057         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31058     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>31059     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
31060         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31061         unsafe {
31062             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31063             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
31064         }
31065     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>31066     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31067         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31068         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31069     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>31070     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31071         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31072         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31073     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>31074     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31075         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31076         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31077     }
ParentForTransform(&self) -> ::windows::runtime::Result<Visual>31078     pub fn ParentForTransform(&self) -> ::windows::runtime::Result<Visual> {
31079         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
31080         unsafe {
31081             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31082             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
31083         }
31084     }
SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>31085     pub fn SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31086         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
31087         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31088     }
31089     #[cfg(feature = "Foundation_Numerics")]
RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>31090     pub fn RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
31091         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
31092         unsafe {
31093             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
31094             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
31095         }
31096     }
31097     #[cfg(feature = "Foundation_Numerics")]
SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>31098     pub fn SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31099         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
31100         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31101     }
31102     #[cfg(feature = "Foundation_Numerics")]
RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>31103     pub fn RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
31104         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
31105         unsafe {
31106             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
31107             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
31108         }
31109     }
31110     #[cfg(feature = "Foundation_Numerics")]
SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>31111     pub fn SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31112         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
31113         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31114     }
31115     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>31116     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
31117         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
31118         unsafe {
31119             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31120             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
31121         }
31122     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>31123     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
31124         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
31125         unsafe {
31126             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31127             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
31128         }
31129     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>31130     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
31131         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
31132         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
31133     }
IsHitTestVisible(&self) -> ::windows::runtime::Result<bool>31134     pub fn IsHitTestVisible(&self) -> ::windows::runtime::Result<bool> {
31135         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
31136         unsafe {
31137             let mut result__: bool = ::std::mem::zeroed();
31138             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
31139         }
31140     }
SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()>31141     pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
31142         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
31143         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
31144     }
IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool>31145     pub fn IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool> {
31146         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
31147         unsafe {
31148             let mut result__: bool = ::std::mem::zeroed();
31149             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
31150         }
31151     }
SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()>31152     pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
31153         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
31154         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
31155     }
31156 }
31157 unsafe impl ::windows::runtime::RuntimeType for RedirectVisual {
31158     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.RedirectVisual;{8cc6e340-8b75-5422-b06f-09ffe9f8617e})");
31159 }
31160 unsafe impl ::windows::runtime::Interface for RedirectVisual {
31161     type Vtable = IRedirectVisual_abi;
31162     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2361844544, 35701, 21538, [176, 111, 9, 255, 233, 248, 97, 126]);
31163 }
31164 impl ::windows::runtime::RuntimeName for RedirectVisual {
31165     const NAME: &'static str = "Windows.UI.Composition.RedirectVisual";
31166 }
31167 impl ::std::convert::From<RedirectVisual> for ::windows::runtime::IUnknown {
from(value: RedirectVisual) -> Self31168     fn from(value: RedirectVisual) -> Self {
31169         unsafe { ::std::mem::transmute(value) }
31170     }
31171 }
31172 impl ::std::convert::From<&RedirectVisual> for ::windows::runtime::IUnknown {
from(value: &RedirectVisual) -> Self31173     fn from(value: &RedirectVisual) -> Self {
31174         ::std::convert::From::from(::std::clone::Clone::clone(value))
31175     }
31176 }
31177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>31178     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
31179         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
31180     }
31181 }
31182 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>31183     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
31184         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
31185     }
31186 }
31187 impl ::std::convert::From<RedirectVisual> for ::windows::runtime::IInspectable {
from(value: RedirectVisual) -> Self31188     fn from(value: RedirectVisual) -> Self {
31189         value.0
31190     }
31191 }
31192 impl ::std::convert::From<&RedirectVisual> for ::windows::runtime::IInspectable {
from(value: &RedirectVisual) -> Self31193     fn from(value: &RedirectVisual) -> Self {
31194         value.0.clone()
31195     }
31196 }
31197 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>31198     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
31199         ::windows::runtime::Param::Owned(self.0)
31200     }
31201 }
31202 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>31203     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
31204         ::windows::runtime::Param::Borrowed(&self.0)
31205     }
31206 }
31207 #[cfg(feature = "Foundation")]
31208 impl ::std::convert::TryFrom<RedirectVisual> for super::super::Foundation::IClosable {
31209     type Error = ::windows::runtime::Error;
try_from(value: RedirectVisual) -> ::windows::runtime::Result<Self>31210     fn try_from(value: RedirectVisual) -> ::windows::runtime::Result<Self> {
31211         ::std::convert::TryFrom::try_from(&value)
31212     }
31213 }
31214 #[cfg(feature = "Foundation")]
31215 impl ::std::convert::TryFrom<&RedirectVisual> for super::super::Foundation::IClosable {
31216     type Error = ::windows::runtime::Error;
try_from(value: &RedirectVisual) -> ::windows::runtime::Result<Self>31217     fn try_from(value: &RedirectVisual) -> ::windows::runtime::Result<Self> {
31218         ::windows::runtime::Interface::cast(value)
31219     }
31220 }
31221 #[cfg(feature = "Foundation")]
31222 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>31223     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
31224         ::windows::runtime::IntoParam::into_param(&self)
31225     }
31226 }
31227 #[cfg(feature = "Foundation")]
31228 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>31229     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
31230         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
31231     }
31232 }
31233 impl ::std::convert::TryFrom<RedirectVisual> for IAnimationObject {
31234     type Error = ::windows::runtime::Error;
try_from(value: RedirectVisual) -> ::windows::runtime::Result<Self>31235     fn try_from(value: RedirectVisual) -> ::windows::runtime::Result<Self> {
31236         ::std::convert::TryFrom::try_from(&value)
31237     }
31238 }
31239 impl ::std::convert::TryFrom<&RedirectVisual> for IAnimationObject {
31240     type Error = ::windows::runtime::Error;
try_from(value: &RedirectVisual) -> ::windows::runtime::Result<Self>31241     fn try_from(value: &RedirectVisual) -> ::windows::runtime::Result<Self> {
31242         ::windows::runtime::Interface::cast(value)
31243     }
31244 }
31245 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>31246     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
31247         ::windows::runtime::IntoParam::into_param(&self)
31248     }
31249 }
31250 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>31251     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
31252         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
31253     }
31254 }
31255 impl ::std::convert::From<RedirectVisual> for ContainerVisual {
from(value: RedirectVisual) -> Self31256     fn from(value: RedirectVisual) -> Self {
31257         ::std::convert::Into::<ContainerVisual>::into(&value)
31258     }
31259 }
31260 impl ::std::convert::From<&RedirectVisual> for ContainerVisual {
from(value: &RedirectVisual) -> Self31261     fn from(value: &RedirectVisual) -> Self {
31262         ::windows::runtime::Interface::cast(value).unwrap()
31263     }
31264 }
31265 impl<'a> ::windows::runtime::IntoParam<'a, ContainerVisual> for RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual>31266     fn into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual> {
31267         ::windows::runtime::Param::Owned(::std::convert::Into::<ContainerVisual>::into(self))
31268     }
31269 }
31270 impl<'a> ::windows::runtime::IntoParam<'a, ContainerVisual> for &RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual>31271     fn into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual> {
31272         ::windows::runtime::Param::Owned(::std::convert::Into::<ContainerVisual>::into(::std::clone::Clone::clone(self)))
31273     }
31274 }
31275 impl ::std::convert::From<RedirectVisual> for Visual {
from(value: RedirectVisual) -> Self31276     fn from(value: RedirectVisual) -> Self {
31277         ::std::convert::Into::<Visual>::into(&value)
31278     }
31279 }
31280 impl ::std::convert::From<&RedirectVisual> for Visual {
from(value: &RedirectVisual) -> Self31281     fn from(value: &RedirectVisual) -> Self {
31282         ::windows::runtime::Interface::cast(value).unwrap()
31283     }
31284 }
31285 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>31286     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
31287         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(self))
31288     }
31289 }
31290 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for &RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>31291     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
31292         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(::std::clone::Clone::clone(self)))
31293     }
31294 }
31295 impl ::std::convert::From<RedirectVisual> for CompositionObject {
from(value: RedirectVisual) -> Self31296     fn from(value: RedirectVisual) -> Self {
31297         ::std::convert::Into::<CompositionObject>::into(&value)
31298     }
31299 }
31300 impl ::std::convert::From<&RedirectVisual> for CompositionObject {
from(value: &RedirectVisual) -> Self31301     fn from(value: &RedirectVisual) -> Self {
31302         ::windows::runtime::Interface::cast(value).unwrap()
31303     }
31304 }
31305 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>31306     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
31307         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
31308     }
31309 }
31310 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &RedirectVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>31311     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
31312         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
31313     }
31314 }
31315 unsafe impl ::std::marker::Send for RedirectVisual {}
31316 unsafe impl ::std::marker::Sync for RedirectVisual {}
31317 #[repr(transparent)]
31318 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
31319 pub struct RenderingDeviceReplacedEventArgs(::windows::runtime::IInspectable);
31320 impl RenderingDeviceReplacedEventArgs {
GraphicsDevice(&self) -> ::windows::runtime::Result<CompositionGraphicsDevice>31321     pub fn GraphicsDevice(&self) -> ::windows::runtime::Result<CompositionGraphicsDevice> {
31322         let this = self;
31323         unsafe {
31324             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31325             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionGraphicsDevice>(result__)
31326         }
31327     }
31328     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>31329     pub fn Close(&self) -> ::windows::runtime::Result<()> {
31330         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
31331         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
31332     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>31333     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
31334         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31335         unsafe {
31336             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31337             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
31338         }
31339     }
31340     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>31341     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
31342         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31343         unsafe {
31344             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31345             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
31346         }
31347     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>31348     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
31349         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31350         unsafe {
31351             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31352             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
31353         }
31354     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>31355     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
31356         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31357         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
31358     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>31359     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
31360         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31361         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
31362     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>31363     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
31364         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31365         unsafe {
31366             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
31367             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
31368         }
31369     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>31370     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31371         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31372         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31373     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>31374     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
31375         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31376         unsafe {
31377             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31378             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
31379         }
31380     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>31381     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31382         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31383         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31384     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>31385     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31386         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31387         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31388     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>31389     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31390         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31391         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31392     }
31393     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>31394     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
31395         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
31396         unsafe {
31397             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31398             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
31399         }
31400     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>31401     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
31402         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
31403         unsafe {
31404             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31405             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
31406         }
31407     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>31408     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
31409         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
31410         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
31411     }
31412 }
31413 unsafe impl ::windows::runtime::RuntimeType for RenderingDeviceReplacedEventArgs {
31414     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.RenderingDeviceReplacedEventArgs;{3a31ac7d-28bf-4e7a-8524-71679d480f38})");
31415 }
31416 unsafe impl ::windows::runtime::Interface for RenderingDeviceReplacedEventArgs {
31417     type Vtable = IRenderingDeviceReplacedEventArgs_abi;
31418     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(976333949, 10431, 20090, [133, 36, 113, 103, 157, 72, 15, 56]);
31419 }
31420 impl ::windows::runtime::RuntimeName for RenderingDeviceReplacedEventArgs {
31421     const NAME: &'static str = "Windows.UI.Composition.RenderingDeviceReplacedEventArgs";
31422 }
31423 impl ::std::convert::From<RenderingDeviceReplacedEventArgs> for ::windows::runtime::IUnknown {
from(value: RenderingDeviceReplacedEventArgs) -> Self31424     fn from(value: RenderingDeviceReplacedEventArgs) -> Self {
31425         unsafe { ::std::mem::transmute(value) }
31426     }
31427 }
31428 impl ::std::convert::From<&RenderingDeviceReplacedEventArgs> for ::windows::runtime::IUnknown {
from(value: &RenderingDeviceReplacedEventArgs) -> Self31429     fn from(value: &RenderingDeviceReplacedEventArgs) -> Self {
31430         ::std::convert::From::from(::std::clone::Clone::clone(value))
31431     }
31432 }
31433 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>31434     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
31435         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
31436     }
31437 }
31438 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>31439     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
31440         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
31441     }
31442 }
31443 impl ::std::convert::From<RenderingDeviceReplacedEventArgs> for ::windows::runtime::IInspectable {
from(value: RenderingDeviceReplacedEventArgs) -> Self31444     fn from(value: RenderingDeviceReplacedEventArgs) -> Self {
31445         value.0
31446     }
31447 }
31448 impl ::std::convert::From<&RenderingDeviceReplacedEventArgs> for ::windows::runtime::IInspectable {
from(value: &RenderingDeviceReplacedEventArgs) -> Self31449     fn from(value: &RenderingDeviceReplacedEventArgs) -> Self {
31450         value.0.clone()
31451     }
31452 }
31453 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>31454     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
31455         ::windows::runtime::Param::Owned(self.0)
31456     }
31457 }
31458 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>31459     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
31460         ::windows::runtime::Param::Borrowed(&self.0)
31461     }
31462 }
31463 #[cfg(feature = "Foundation")]
31464 impl ::std::convert::TryFrom<RenderingDeviceReplacedEventArgs> for super::super::Foundation::IClosable {
31465     type Error = ::windows::runtime::Error;
try_from(value: RenderingDeviceReplacedEventArgs) -> ::windows::runtime::Result<Self>31466     fn try_from(value: RenderingDeviceReplacedEventArgs) -> ::windows::runtime::Result<Self> {
31467         ::std::convert::TryFrom::try_from(&value)
31468     }
31469 }
31470 #[cfg(feature = "Foundation")]
31471 impl ::std::convert::TryFrom<&RenderingDeviceReplacedEventArgs> for super::super::Foundation::IClosable {
31472     type Error = ::windows::runtime::Error;
try_from(value: &RenderingDeviceReplacedEventArgs) -> ::windows::runtime::Result<Self>31473     fn try_from(value: &RenderingDeviceReplacedEventArgs) -> ::windows::runtime::Result<Self> {
31474         ::windows::runtime::Interface::cast(value)
31475     }
31476 }
31477 #[cfg(feature = "Foundation")]
31478 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>31479     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
31480         ::windows::runtime::IntoParam::into_param(&self)
31481     }
31482 }
31483 #[cfg(feature = "Foundation")]
31484 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>31485     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
31486         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
31487     }
31488 }
31489 impl ::std::convert::TryFrom<RenderingDeviceReplacedEventArgs> for IAnimationObject {
31490     type Error = ::windows::runtime::Error;
try_from(value: RenderingDeviceReplacedEventArgs) -> ::windows::runtime::Result<Self>31491     fn try_from(value: RenderingDeviceReplacedEventArgs) -> ::windows::runtime::Result<Self> {
31492         ::std::convert::TryFrom::try_from(&value)
31493     }
31494 }
31495 impl ::std::convert::TryFrom<&RenderingDeviceReplacedEventArgs> for IAnimationObject {
31496     type Error = ::windows::runtime::Error;
try_from(value: &RenderingDeviceReplacedEventArgs) -> ::windows::runtime::Result<Self>31497     fn try_from(value: &RenderingDeviceReplacedEventArgs) -> ::windows::runtime::Result<Self> {
31498         ::windows::runtime::Interface::cast(value)
31499     }
31500 }
31501 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>31502     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
31503         ::windows::runtime::IntoParam::into_param(&self)
31504     }
31505 }
31506 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>31507     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
31508         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
31509     }
31510 }
31511 impl ::std::convert::From<RenderingDeviceReplacedEventArgs> for CompositionObject {
from(value: RenderingDeviceReplacedEventArgs) -> Self31512     fn from(value: RenderingDeviceReplacedEventArgs) -> Self {
31513         ::std::convert::Into::<CompositionObject>::into(&value)
31514     }
31515 }
31516 impl ::std::convert::From<&RenderingDeviceReplacedEventArgs> for CompositionObject {
from(value: &RenderingDeviceReplacedEventArgs) -> Self31517     fn from(value: &RenderingDeviceReplacedEventArgs) -> Self {
31518         ::windows::runtime::Interface::cast(value).unwrap()
31519     }
31520 }
31521 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>31522     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
31523         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
31524     }
31525 }
31526 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &RenderingDeviceReplacedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>31527     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
31528         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
31529     }
31530 }
31531 unsafe impl ::std::marker::Send for RenderingDeviceReplacedEventArgs {}
31532 unsafe impl ::std::marker::Sync for RenderingDeviceReplacedEventArgs {}
31533 #[repr(transparent)]
31534 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
31535 pub struct ScalarKeyFrameAnimation(::windows::runtime::IInspectable);
31536 impl ScalarKeyFrameAnimation {
InsertKeyFrame(&self, normalizedprogresskey: f32, value: f32) -> ::windows::runtime::Result<()>31537     pub fn InsertKeyFrame(&self, normalizedprogresskey: f32, value: f32) -> ::windows::runtime::Result<()> {
31538         let this = self;
31539         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), normalizedprogresskey, value).ok() }
31540     }
InsertKeyFrameWithEasingFunction<'a, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: f32, easingfunction: Param2) -> ::windows::runtime::Result<()>31541     pub fn InsertKeyFrameWithEasingFunction<'a, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: f32, easingfunction: Param2) -> ::windows::runtime::Result<()> {
31542         let this = self;
31543         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), normalizedprogresskey, value, easingfunction.into_param().abi()).ok() }
31544     }
31545     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>31546     pub fn Close(&self) -> ::windows::runtime::Result<()> {
31547         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
31548         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
31549     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>31550     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
31551         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31552         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
31553     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>31554     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
31555         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31556         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
31557     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>31558     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
31559         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31560         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
31561     }
31562     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>31563     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
31564         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31565         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
31566     }
31567     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>31568     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
31569         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31570         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
31571     }
31572     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>31573     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
31574         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31575         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
31576     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>31577     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
31578         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31579         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
31580     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>31581     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
31582         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31583         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
31584     }
31585     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>31586     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
31587         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31588         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
31589     }
31590     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>31591     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
31592         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31593         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
31594     }
31595     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>31596     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
31597         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
31598         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
31599     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>31600     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
31601         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31602         unsafe {
31603             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31604             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
31605         }
31606     }
31607     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>31608     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
31609         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31610         unsafe {
31611             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31612             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
31613         }
31614     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>31615     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
31616         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31617         unsafe {
31618             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31619             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
31620         }
31621     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>31622     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
31623         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31624         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
31625     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>31626     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
31627         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
31628         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
31629     }
31630     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>31631     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
31632         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31633         unsafe {
31634             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
31635             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
31636         }
31637     }
31638     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>31639     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31640         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31641         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31642     }
31643     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>31644     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
31645         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31646         unsafe {
31647             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
31648             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
31649         }
31650     }
31651     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>31652     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31653         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31654         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31655     }
IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior>31656     pub fn IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior> {
31657         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31658         unsafe {
31659             let mut result__: AnimationIterationBehavior = ::std::mem::zeroed();
31660             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationIterationBehavior>(result__)
31661         }
31662     }
SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()>31663     pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()> {
31664         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31665         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
31666     }
IterationCount(&self) -> ::windows::runtime::Result<i32>31667     pub fn IterationCount(&self) -> ::windows::runtime::Result<i32> {
31668         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31669         unsafe {
31670             let mut result__: i32 = ::std::mem::zeroed();
31671             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
31672         }
31673     }
SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()>31674     pub fn SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()> {
31675         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31676         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
31677     }
KeyFrameCount(&self) -> ::windows::runtime::Result<i32>31678     pub fn KeyFrameCount(&self) -> ::windows::runtime::Result<i32> {
31679         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31680         unsafe {
31681             let mut result__: i32 = ::std::mem::zeroed();
31682             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
31683         }
31684     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>31685     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
31686         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31687         unsafe {
31688             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
31689             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
31690         }
31691     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>31692     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
31693         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31694         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
31695     }
InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>31696     pub fn InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
31697         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31698         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
31699     }
InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>31700     pub fn InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
31701         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
31702         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
31703     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>31704     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
31705         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
31706         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
31707     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>31708     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
31709         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
31710         unsafe {
31711             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
31712             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
31713         }
31714     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>31715     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31716         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
31717         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31718     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>31719     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
31720         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31721         unsafe {
31722             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
31723             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
31724         }
31725     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>31726     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31727         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31728         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31729     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>31730     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
31731         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31732         unsafe {
31733             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31734             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
31735         }
31736     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>31737     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31738         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31739         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31740     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>31741     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31742         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31743         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31744     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>31745     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31746         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
31747         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
31748     }
Direction(&self) -> ::windows::runtime::Result<AnimationDirection>31749     pub fn Direction(&self) -> ::windows::runtime::Result<AnimationDirection> {
31750         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
31751         unsafe {
31752             let mut result__: AnimationDirection = ::std::mem::zeroed();
31753             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDirection>(result__)
31754         }
31755     }
SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()>31756     pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()> {
31757         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
31758         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
31759     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>31760     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
31761         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
31762         unsafe {
31763             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
31764             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
31765         }
31766     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>31767     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
31768         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
31769         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
31770     }
31771     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>31772     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
31773         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
31774         unsafe {
31775             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31776             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
31777         }
31778     }
31779     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>31780     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
31781         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
31782         unsafe {
31783             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31784             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
31785         }
31786     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>31787     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
31788         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
31789         unsafe {
31790             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31791             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
31792         }
31793     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>31794     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
31795         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
31796         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
31797     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>31798     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
31799         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
31800         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
31801     }
31802 }
31803 unsafe impl ::windows::runtime::RuntimeType for ScalarKeyFrameAnimation {
31804     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ScalarKeyFrameAnimation;{ae288fa9-252c-4b95-a725-bf85e38000a1})");
31805 }
31806 unsafe impl ::windows::runtime::Interface for ScalarKeyFrameAnimation {
31807     type Vtable = IScalarKeyFrameAnimation_abi;
31808     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2921893801, 9516, 19349, [167, 37, 191, 133, 227, 128, 0, 161]);
31809 }
31810 impl ::windows::runtime::RuntimeName for ScalarKeyFrameAnimation {
31811     const NAME: &'static str = "Windows.UI.Composition.ScalarKeyFrameAnimation";
31812 }
31813 impl ::std::convert::From<ScalarKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: ScalarKeyFrameAnimation) -> Self31814     fn from(value: ScalarKeyFrameAnimation) -> Self {
31815         unsafe { ::std::mem::transmute(value) }
31816     }
31817 }
31818 impl ::std::convert::From<&ScalarKeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: &ScalarKeyFrameAnimation) -> Self31819     fn from(value: &ScalarKeyFrameAnimation) -> Self {
31820         ::std::convert::From::from(::std::clone::Clone::clone(value))
31821     }
31822 }
31823 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>31824     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
31825         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
31826     }
31827 }
31828 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>31829     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
31830         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
31831     }
31832 }
31833 impl ::std::convert::From<ScalarKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: ScalarKeyFrameAnimation) -> Self31834     fn from(value: ScalarKeyFrameAnimation) -> Self {
31835         value.0
31836     }
31837 }
31838 impl ::std::convert::From<&ScalarKeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: &ScalarKeyFrameAnimation) -> Self31839     fn from(value: &ScalarKeyFrameAnimation) -> Self {
31840         value.0.clone()
31841     }
31842 }
31843 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>31844     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
31845         ::windows::runtime::Param::Owned(self.0)
31846     }
31847 }
31848 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>31849     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
31850         ::windows::runtime::Param::Borrowed(&self.0)
31851     }
31852 }
31853 #[cfg(feature = "Foundation")]
31854 impl ::std::convert::TryFrom<ScalarKeyFrameAnimation> for super::super::Foundation::IClosable {
31855     type Error = ::windows::runtime::Error;
try_from(value: ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self>31856     fn try_from(value: ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
31857         ::std::convert::TryFrom::try_from(&value)
31858     }
31859 }
31860 #[cfg(feature = "Foundation")]
31861 impl ::std::convert::TryFrom<&ScalarKeyFrameAnimation> for super::super::Foundation::IClosable {
31862     type Error = ::windows::runtime::Error;
try_from(value: &ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self>31863     fn try_from(value: &ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
31864         ::windows::runtime::Interface::cast(value)
31865     }
31866 }
31867 #[cfg(feature = "Foundation")]
31868 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>31869     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
31870         ::windows::runtime::IntoParam::into_param(&self)
31871     }
31872 }
31873 #[cfg(feature = "Foundation")]
31874 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>31875     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
31876         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
31877     }
31878 }
31879 impl ::std::convert::TryFrom<ScalarKeyFrameAnimation> for ICompositionAnimationBase {
31880     type Error = ::windows::runtime::Error;
try_from(value: ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self>31881     fn try_from(value: ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
31882         ::std::convert::TryFrom::try_from(&value)
31883     }
31884 }
31885 impl ::std::convert::TryFrom<&ScalarKeyFrameAnimation> for ICompositionAnimationBase {
31886     type Error = ::windows::runtime::Error;
try_from(value: &ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self>31887     fn try_from(value: &ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
31888         ::windows::runtime::Interface::cast(value)
31889     }
31890 }
31891 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>31892     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
31893         ::windows::runtime::IntoParam::into_param(&self)
31894     }
31895 }
31896 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>31897     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
31898         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
31899     }
31900 }
31901 impl ::std::convert::TryFrom<ScalarKeyFrameAnimation> for IAnimationObject {
31902     type Error = ::windows::runtime::Error;
try_from(value: ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self>31903     fn try_from(value: ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
31904         ::std::convert::TryFrom::try_from(&value)
31905     }
31906 }
31907 impl ::std::convert::TryFrom<&ScalarKeyFrameAnimation> for IAnimationObject {
31908     type Error = ::windows::runtime::Error;
try_from(value: &ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self>31909     fn try_from(value: &ScalarKeyFrameAnimation) -> ::windows::runtime::Result<Self> {
31910         ::windows::runtime::Interface::cast(value)
31911     }
31912 }
31913 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>31914     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
31915         ::windows::runtime::IntoParam::into_param(&self)
31916     }
31917 }
31918 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>31919     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
31920         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
31921     }
31922 }
31923 impl ::std::convert::From<ScalarKeyFrameAnimation> for KeyFrameAnimation {
from(value: ScalarKeyFrameAnimation) -> Self31924     fn from(value: ScalarKeyFrameAnimation) -> Self {
31925         ::std::convert::Into::<KeyFrameAnimation>::into(&value)
31926     }
31927 }
31928 impl ::std::convert::From<&ScalarKeyFrameAnimation> for KeyFrameAnimation {
from(value: &ScalarKeyFrameAnimation) -> Self31929     fn from(value: &ScalarKeyFrameAnimation) -> Self {
31930         ::windows::runtime::Interface::cast(value).unwrap()
31931     }
31932 }
31933 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>31934     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
31935         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(self))
31936     }
31937 }
31938 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for &ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>31939     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
31940         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(::std::clone::Clone::clone(self)))
31941     }
31942 }
31943 impl ::std::convert::From<ScalarKeyFrameAnimation> for CompositionAnimation {
from(value: ScalarKeyFrameAnimation) -> Self31944     fn from(value: ScalarKeyFrameAnimation) -> Self {
31945         ::std::convert::Into::<CompositionAnimation>::into(&value)
31946     }
31947 }
31948 impl ::std::convert::From<&ScalarKeyFrameAnimation> for CompositionAnimation {
from(value: &ScalarKeyFrameAnimation) -> Self31949     fn from(value: &ScalarKeyFrameAnimation) -> Self {
31950         ::windows::runtime::Interface::cast(value).unwrap()
31951     }
31952 }
31953 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>31954     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
31955         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
31956     }
31957 }
31958 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>31959     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
31960         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
31961     }
31962 }
31963 impl ::std::convert::From<ScalarKeyFrameAnimation> for CompositionObject {
from(value: ScalarKeyFrameAnimation) -> Self31964     fn from(value: ScalarKeyFrameAnimation) -> Self {
31965         ::std::convert::Into::<CompositionObject>::into(&value)
31966     }
31967 }
31968 impl ::std::convert::From<&ScalarKeyFrameAnimation> for CompositionObject {
from(value: &ScalarKeyFrameAnimation) -> Self31969     fn from(value: &ScalarKeyFrameAnimation) -> Self {
31970         ::windows::runtime::Interface::cast(value).unwrap()
31971     }
31972 }
31973 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>31974     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
31975         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
31976     }
31977 }
31978 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &ScalarKeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>31979     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
31980         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
31981     }
31982 }
31983 unsafe impl ::std::marker::Send for ScalarKeyFrameAnimation {}
31984 unsafe impl ::std::marker::Sync for ScalarKeyFrameAnimation {}
31985 #[repr(transparent)]
31986 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
31987 pub struct ScalarNaturalMotionAnimation(::windows::runtime::IInspectable);
31988 impl ScalarNaturalMotionAnimation {
31989     #[cfg(feature = "Foundation")]
FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>>31990     pub fn FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>> {
31991         let this = self;
31992         unsafe {
31993             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
31994             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f32>>(result__)
31995         }
31996     }
31997     #[cfg(feature = "Foundation")]
SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()>31998     pub fn SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
31999         let this = self;
32000         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32001     }
32002     #[cfg(feature = "Foundation")]
InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>>32003     pub fn InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>> {
32004         let this = self;
32005         unsafe {
32006             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32007             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f32>>(result__)
32008         }
32009     }
32010     #[cfg(feature = "Foundation")]
SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()>32011     pub fn SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32012         let this = self;
32013         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32014     }
InitialVelocity(&self) -> ::windows::runtime::Result<f32>32015     pub fn InitialVelocity(&self) -> ::windows::runtime::Result<f32> {
32016         let this = self;
32017         unsafe {
32018             let mut result__: f32 = ::std::mem::zeroed();
32019             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
32020         }
32021     }
SetInitialVelocity(&self, value: f32) -> ::windows::runtime::Result<()>32022     pub fn SetInitialVelocity(&self, value: f32) -> ::windows::runtime::Result<()> {
32023         let this = self;
32024         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
32025     }
32026     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>32027     pub fn Close(&self) -> ::windows::runtime::Result<()> {
32028         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
32029         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
32030     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>32031     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
32032         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32033         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
32034     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>32035     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
32036         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32037         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
32038     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>32039     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
32040         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32041         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
32042     }
32043     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>32044     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
32045         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32046         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
32047     }
32048     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>32049     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
32050         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32051         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
32052     }
32053     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>32054     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
32055         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32056         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
32057     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>32058     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
32059         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32060         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
32061     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>32062     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
32063         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32064         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
32065     }
32066     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>32067     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
32068         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32069         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
32070     }
32071     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>32072     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
32073         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32074         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
32075     }
32076     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>32077     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
32078         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
32079         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
32080     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>32081     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
32082         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32083         unsafe {
32084             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32085             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
32086         }
32087     }
32088     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>32089     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
32090         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32091         unsafe {
32092             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32093             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
32094         }
32095     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>32096     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
32097         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32098         unsafe {
32099             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32100             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
32101         }
32102     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>32103     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
32104         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32105         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
32106     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>32107     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
32108         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32109         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
32110     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>32111     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
32112         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
32113         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
32114     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>32115     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
32116         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
32117         unsafe {
32118             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
32119             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
32120         }
32121     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>32122     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32123         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
32124         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32125     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>32126     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
32127         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32128         unsafe {
32129             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
32130             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
32131         }
32132     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>32133     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32134         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32135         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32136     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>32137     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
32138         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32139         unsafe {
32140             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32141             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
32142         }
32143     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>32144     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32145         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32146         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32147     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>32148     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32149         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32150         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32151     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>32152     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32153         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32154         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32155     }
32156     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>32157     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
32158         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
32159         unsafe {
32160             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32161             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
32162         }
32163     }
32164     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>32165     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
32166         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
32167         unsafe {
32168             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32169             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
32170         }
32171     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>32172     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
32173         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
32174         unsafe {
32175             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
32176             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
32177         }
32178     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>32179     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
32180         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
32181         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
32182     }
32183     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>32184     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
32185         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
32186         unsafe {
32187             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
32188             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
32189         }
32190     }
32191     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>32192     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32193         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
32194         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32195     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>32196     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
32197         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
32198         unsafe {
32199             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
32200             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
32201         }
32202     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>32203     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
32204         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
32205         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
32206     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>32207     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
32208         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
32209         unsafe {
32210             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32211             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
32212         }
32213     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>32214     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
32215         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
32216         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
32217     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>32218     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
32219         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
32220         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
32221     }
32222 }
32223 unsafe impl ::windows::runtime::RuntimeType for ScalarNaturalMotionAnimation {
32224     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ScalarNaturalMotionAnimation;{94a94581-bf92-495b-b5bd-d2c659430737})");
32225 }
32226 unsafe impl ::windows::runtime::Interface for ScalarNaturalMotionAnimation {
32227     type Vtable = IScalarNaturalMotionAnimation_abi;
32228     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2494121345, 49042, 18779, [181, 189, 210, 198, 89, 67, 7, 55]);
32229 }
32230 impl ::windows::runtime::RuntimeName for ScalarNaturalMotionAnimation {
32231     const NAME: &'static str = "Windows.UI.Composition.ScalarNaturalMotionAnimation";
32232 }
32233 impl ::std::convert::From<ScalarNaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: ScalarNaturalMotionAnimation) -> Self32234     fn from(value: ScalarNaturalMotionAnimation) -> Self {
32235         unsafe { ::std::mem::transmute(value) }
32236     }
32237 }
32238 impl ::std::convert::From<&ScalarNaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &ScalarNaturalMotionAnimation) -> Self32239     fn from(value: &ScalarNaturalMotionAnimation) -> Self {
32240         ::std::convert::From::from(::std::clone::Clone::clone(value))
32241     }
32242 }
32243 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>32244     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
32245         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
32246     }
32247 }
32248 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>32249     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
32250         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
32251     }
32252 }
32253 impl ::std::convert::From<ScalarNaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: ScalarNaturalMotionAnimation) -> Self32254     fn from(value: ScalarNaturalMotionAnimation) -> Self {
32255         value.0
32256     }
32257 }
32258 impl ::std::convert::From<&ScalarNaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &ScalarNaturalMotionAnimation) -> Self32259     fn from(value: &ScalarNaturalMotionAnimation) -> Self {
32260         value.0.clone()
32261     }
32262 }
32263 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>32264     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
32265         ::windows::runtime::Param::Owned(self.0)
32266     }
32267 }
32268 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>32269     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
32270         ::windows::runtime::Param::Borrowed(&self.0)
32271     }
32272 }
32273 #[cfg(feature = "Foundation")]
32274 impl ::std::convert::TryFrom<ScalarNaturalMotionAnimation> for super::super::Foundation::IClosable {
32275     type Error = ::windows::runtime::Error;
try_from(value: ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>32276     fn try_from(value: ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
32277         ::std::convert::TryFrom::try_from(&value)
32278     }
32279 }
32280 #[cfg(feature = "Foundation")]
32281 impl ::std::convert::TryFrom<&ScalarNaturalMotionAnimation> for super::super::Foundation::IClosable {
32282     type Error = ::windows::runtime::Error;
try_from(value: &ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>32283     fn try_from(value: &ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
32284         ::windows::runtime::Interface::cast(value)
32285     }
32286 }
32287 #[cfg(feature = "Foundation")]
32288 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>32289     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
32290         ::windows::runtime::IntoParam::into_param(&self)
32291     }
32292 }
32293 #[cfg(feature = "Foundation")]
32294 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>32295     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
32296         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
32297     }
32298 }
32299 impl ::std::convert::TryFrom<ScalarNaturalMotionAnimation> for ICompositionAnimationBase {
32300     type Error = ::windows::runtime::Error;
try_from(value: ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>32301     fn try_from(value: ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
32302         ::std::convert::TryFrom::try_from(&value)
32303     }
32304 }
32305 impl ::std::convert::TryFrom<&ScalarNaturalMotionAnimation> for ICompositionAnimationBase {
32306     type Error = ::windows::runtime::Error;
try_from(value: &ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>32307     fn try_from(value: &ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
32308         ::windows::runtime::Interface::cast(value)
32309     }
32310 }
32311 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>32312     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
32313         ::windows::runtime::IntoParam::into_param(&self)
32314     }
32315 }
32316 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>32317     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
32318         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
32319     }
32320 }
32321 impl ::std::convert::TryFrom<ScalarNaturalMotionAnimation> for IAnimationObject {
32322     type Error = ::windows::runtime::Error;
try_from(value: ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>32323     fn try_from(value: ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
32324         ::std::convert::TryFrom::try_from(&value)
32325     }
32326 }
32327 impl ::std::convert::TryFrom<&ScalarNaturalMotionAnimation> for IAnimationObject {
32328     type Error = ::windows::runtime::Error;
try_from(value: &ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>32329     fn try_from(value: &ScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
32330         ::windows::runtime::Interface::cast(value)
32331     }
32332 }
32333 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>32334     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
32335         ::windows::runtime::IntoParam::into_param(&self)
32336     }
32337 }
32338 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>32339     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
32340         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
32341     }
32342 }
32343 impl ::std::convert::From<ScalarNaturalMotionAnimation> for NaturalMotionAnimation {
from(value: ScalarNaturalMotionAnimation) -> Self32344     fn from(value: ScalarNaturalMotionAnimation) -> Self {
32345         ::std::convert::Into::<NaturalMotionAnimation>::into(&value)
32346     }
32347 }
32348 impl ::std::convert::From<&ScalarNaturalMotionAnimation> for NaturalMotionAnimation {
from(value: &ScalarNaturalMotionAnimation) -> Self32349     fn from(value: &ScalarNaturalMotionAnimation) -> Self {
32350         ::windows::runtime::Interface::cast(value).unwrap()
32351     }
32352 }
32353 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>32354     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
32355         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(self))
32356     }
32357 }
32358 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for &ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>32359     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
32360         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
32361     }
32362 }
32363 impl ::std::convert::From<ScalarNaturalMotionAnimation> for CompositionAnimation {
from(value: ScalarNaturalMotionAnimation) -> Self32364     fn from(value: ScalarNaturalMotionAnimation) -> Self {
32365         ::std::convert::Into::<CompositionAnimation>::into(&value)
32366     }
32367 }
32368 impl ::std::convert::From<&ScalarNaturalMotionAnimation> for CompositionAnimation {
from(value: &ScalarNaturalMotionAnimation) -> Self32369     fn from(value: &ScalarNaturalMotionAnimation) -> Self {
32370         ::windows::runtime::Interface::cast(value).unwrap()
32371     }
32372 }
32373 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>32374     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
32375         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
32376     }
32377 }
32378 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>32379     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
32380         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
32381     }
32382 }
32383 impl ::std::convert::From<ScalarNaturalMotionAnimation> for CompositionObject {
from(value: ScalarNaturalMotionAnimation) -> Self32384     fn from(value: ScalarNaturalMotionAnimation) -> Self {
32385         ::std::convert::Into::<CompositionObject>::into(&value)
32386     }
32387 }
32388 impl ::std::convert::From<&ScalarNaturalMotionAnimation> for CompositionObject {
from(value: &ScalarNaturalMotionAnimation) -> Self32389     fn from(value: &ScalarNaturalMotionAnimation) -> Self {
32390         ::windows::runtime::Interface::cast(value).unwrap()
32391     }
32392 }
32393 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>32394     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
32395         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
32396     }
32397 }
32398 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &ScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>32399     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
32400         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
32401     }
32402 }
32403 unsafe impl ::std::marker::Send for ScalarNaturalMotionAnimation {}
32404 unsafe impl ::std::marker::Sync for ScalarNaturalMotionAnimation {}
32405 #[repr(transparent)]
32406 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
32407 pub struct ShapeVisual(::windows::runtime::IInspectable);
32408 impl ShapeVisual {
32409     #[cfg(feature = "Foundation_Collections")]
Shapes(&self) -> ::windows::runtime::Result<CompositionShapeCollection>32410     pub fn Shapes(&self) -> ::windows::runtime::Result<CompositionShapeCollection> {
32411         let this = self;
32412         unsafe {
32413             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32414             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionShapeCollection>(result__)
32415         }
32416     }
ViewBox(&self) -> ::windows::runtime::Result<CompositionViewBox>32417     pub fn ViewBox(&self) -> ::windows::runtime::Result<CompositionViewBox> {
32418         let this = self;
32419         unsafe {
32420             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32421             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionViewBox>(result__)
32422         }
32423     }
SetViewBox<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionViewBox>>(&self, value: Param0) -> ::windows::runtime::Result<()>32424     pub fn SetViewBox<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionViewBox>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32425         let this = self;
32426         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32427     }
32428     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>32429     pub fn Close(&self) -> ::windows::runtime::Result<()> {
32430         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
32431         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
32432     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>32433     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
32434         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32435         unsafe {
32436             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32437             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
32438         }
32439     }
32440     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>32441     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
32442         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32443         unsafe {
32444             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32445             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
32446         }
32447     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>32448     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
32449         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32450         unsafe {
32451             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32452             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
32453         }
32454     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>32455     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
32456         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32457         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
32458     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>32459     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
32460         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32461         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
32462     }
Children(&self) -> ::windows::runtime::Result<VisualCollection>32463     pub fn Children(&self) -> ::windows::runtime::Result<VisualCollection> {
32464         let this = &::windows::runtime::Interface::cast::<IContainerVisual>(self)?;
32465         unsafe {
32466             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32467             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualCollection>(result__)
32468         }
32469     }
32470     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>32471     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
32472         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32473         unsafe {
32474             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
32475             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
32476         }
32477     }
32478     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>32479     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32480         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32481         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32482     }
BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility>32483     pub fn BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility> {
32484         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32485         unsafe {
32486             let mut result__: CompositionBackfaceVisibility = ::std::mem::zeroed();
32487             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackfaceVisibility>(result__)
32488         }
32489     }
SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()>32490     pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()> {
32491         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32492         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
32493     }
BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode>32494     pub fn BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode> {
32495         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32496         unsafe {
32497             let mut result__: CompositionBorderMode = ::std::mem::zeroed();
32498             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBorderMode>(result__)
32499         }
32500     }
SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()>32501     pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()> {
32502         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32503         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
32504     }
32505     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>32506     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
32507         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32508         unsafe {
32509             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
32510             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
32511         }
32512     }
32513     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>32514     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32515         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32516         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32517     }
Clip(&self) -> ::windows::runtime::Result<CompositionClip>32518     pub fn Clip(&self) -> ::windows::runtime::Result<CompositionClip> {
32519         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32520         unsafe {
32521             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32522             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionClip>(result__)
32523         }
32524     }
SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()>32525     pub fn SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32526         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32527         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32528     }
CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode>32529     pub fn CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode> {
32530         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32531         unsafe {
32532             let mut result__: CompositionCompositeMode = ::std::mem::zeroed();
32533             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionCompositeMode>(result__)
32534         }
32535     }
SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()>32536     pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()> {
32537         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32538         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
32539     }
IsVisible(&self) -> ::windows::runtime::Result<bool>32540     pub fn IsVisible(&self) -> ::windows::runtime::Result<bool> {
32541         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32542         unsafe {
32543             let mut result__: bool = ::std::mem::zeroed();
32544             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
32545         }
32546     }
SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()>32547     pub fn SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
32548         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32549         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
32550     }
32551     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>32552     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
32553         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32554         unsafe {
32555             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
32556             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
32557         }
32558     }
32559     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>32560     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32561         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32562         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32563     }
Opacity(&self) -> ::windows::runtime::Result<f32>32564     pub fn Opacity(&self) -> ::windows::runtime::Result<f32> {
32565         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32566         unsafe {
32567             let mut result__: f32 = ::std::mem::zeroed();
32568             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
32569         }
32570     }
SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()>32571     pub fn SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()> {
32572         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32573         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
32574     }
32575     #[cfg(feature = "Foundation_Numerics")]
Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion>32576     pub fn Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion> {
32577         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32578         unsafe {
32579             let mut result__: super::super::Foundation::Numerics::Quaternion = ::std::mem::zeroed();
32580             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Quaternion>(result__)
32581         }
32582     }
32583     #[cfg(feature = "Foundation_Numerics")]
SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()>32584     pub fn SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32585         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32586         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32587     }
Parent(&self) -> ::windows::runtime::Result<ContainerVisual>32588     pub fn Parent(&self) -> ::windows::runtime::Result<ContainerVisual> {
32589         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32590         unsafe {
32591             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32592             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContainerVisual>(result__)
32593         }
32594     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>32595     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
32596         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32597         unsafe {
32598             let mut result__: f32 = ::std::mem::zeroed();
32599             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
32600         }
32601     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>32602     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
32603         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32604         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
32605     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>32606     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
32607         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32608         unsafe {
32609             let mut result__: f32 = ::std::mem::zeroed();
32610             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
32611         }
32612     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>32613     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
32614         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32615         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value).ok() }
32616     }
32617     #[cfg(feature = "Foundation_Numerics")]
RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>32618     pub fn RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
32619         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32620         unsafe {
32621             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
32622             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
32623         }
32624     }
32625     #[cfg(feature = "Foundation_Numerics")]
SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>32626     pub fn SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32627         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32628         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32629     }
32630     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>32631     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
32632         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32633         unsafe {
32634             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
32635             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
32636         }
32637     }
32638     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>32639     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32640         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32641         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32642     }
32643     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>32644     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
32645         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32646         unsafe {
32647             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
32648             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
32649         }
32650     }
32651     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>32652     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32653         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32654         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32655     }
32656     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4>32657     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4> {
32658         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32659         unsafe {
32660             let mut result__: super::super::Foundation::Numerics::Matrix4x4 = ::std::mem::zeroed();
32661             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix4x4>(result__)
32662         }
32663     }
32664     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()>32665     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32666         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
32667         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32668     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>32669     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
32670         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32671         unsafe {
32672             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
32673             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
32674         }
32675     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>32676     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32677         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32678         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32679     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>32680     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
32681         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32682         unsafe {
32683             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32684             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
32685         }
32686     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>32687     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32688         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32689         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32690     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>32691     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32692         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32693         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32694     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>32695     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32696         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32697         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32698     }
ParentForTransform(&self) -> ::windows::runtime::Result<Visual>32699     pub fn ParentForTransform(&self) -> ::windows::runtime::Result<Visual> {
32700         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
32701         unsafe {
32702             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32703             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
32704         }
32705     }
SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>32706     pub fn SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32707         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
32708         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32709     }
32710     #[cfg(feature = "Foundation_Numerics")]
RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>32711     pub fn RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
32712         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
32713         unsafe {
32714             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
32715             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
32716         }
32717     }
32718     #[cfg(feature = "Foundation_Numerics")]
SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>32719     pub fn SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32720         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
32721         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32722     }
32723     #[cfg(feature = "Foundation_Numerics")]
RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>32724     pub fn RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
32725         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
32726         unsafe {
32727             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
32728             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
32729         }
32730     }
32731     #[cfg(feature = "Foundation_Numerics")]
SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>32732     pub fn SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32733         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
32734         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32735     }
32736     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>32737     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
32738         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
32739         unsafe {
32740             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32741             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
32742         }
32743     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>32744     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
32745         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
32746         unsafe {
32747             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32748             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
32749         }
32750     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>32751     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
32752         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
32753         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
32754     }
IsHitTestVisible(&self) -> ::windows::runtime::Result<bool>32755     pub fn IsHitTestVisible(&self) -> ::windows::runtime::Result<bool> {
32756         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
32757         unsafe {
32758             let mut result__: bool = ::std::mem::zeroed();
32759             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
32760         }
32761     }
SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()>32762     pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
32763         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
32764         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
32765     }
IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool>32766     pub fn IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool> {
32767         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
32768         unsafe {
32769             let mut result__: bool = ::std::mem::zeroed();
32770             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
32771         }
32772     }
SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()>32773     pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
32774         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
32775         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
32776     }
32777 }
32778 unsafe impl ::windows::runtime::RuntimeType for ShapeVisual {
32779     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.ShapeVisual;{f2bd13c3-ba7e-4b0f-9126-ffb7536b8176})");
32780 }
32781 unsafe impl ::windows::runtime::Interface for ShapeVisual {
32782     type Vtable = IShapeVisual_abi;
32783     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4072477635, 47742, 19215, [145, 38, 255, 183, 83, 107, 129, 118]);
32784 }
32785 impl ::windows::runtime::RuntimeName for ShapeVisual {
32786     const NAME: &'static str = "Windows.UI.Composition.ShapeVisual";
32787 }
32788 impl ::std::convert::From<ShapeVisual> for ::windows::runtime::IUnknown {
from(value: ShapeVisual) -> Self32789     fn from(value: ShapeVisual) -> Self {
32790         unsafe { ::std::mem::transmute(value) }
32791     }
32792 }
32793 impl ::std::convert::From<&ShapeVisual> for ::windows::runtime::IUnknown {
from(value: &ShapeVisual) -> Self32794     fn from(value: &ShapeVisual) -> Self {
32795         ::std::convert::From::from(::std::clone::Clone::clone(value))
32796     }
32797 }
32798 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>32799     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
32800         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
32801     }
32802 }
32803 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>32804     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
32805         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
32806     }
32807 }
32808 impl ::std::convert::From<ShapeVisual> for ::windows::runtime::IInspectable {
from(value: ShapeVisual) -> Self32809     fn from(value: ShapeVisual) -> Self {
32810         value.0
32811     }
32812 }
32813 impl ::std::convert::From<&ShapeVisual> for ::windows::runtime::IInspectable {
from(value: &ShapeVisual) -> Self32814     fn from(value: &ShapeVisual) -> Self {
32815         value.0.clone()
32816     }
32817 }
32818 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>32819     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
32820         ::windows::runtime::Param::Owned(self.0)
32821     }
32822 }
32823 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>32824     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
32825         ::windows::runtime::Param::Borrowed(&self.0)
32826     }
32827 }
32828 #[cfg(feature = "Foundation")]
32829 impl ::std::convert::TryFrom<ShapeVisual> for super::super::Foundation::IClosable {
32830     type Error = ::windows::runtime::Error;
try_from(value: ShapeVisual) -> ::windows::runtime::Result<Self>32831     fn try_from(value: ShapeVisual) -> ::windows::runtime::Result<Self> {
32832         ::std::convert::TryFrom::try_from(&value)
32833     }
32834 }
32835 #[cfg(feature = "Foundation")]
32836 impl ::std::convert::TryFrom<&ShapeVisual> for super::super::Foundation::IClosable {
32837     type Error = ::windows::runtime::Error;
try_from(value: &ShapeVisual) -> ::windows::runtime::Result<Self>32838     fn try_from(value: &ShapeVisual) -> ::windows::runtime::Result<Self> {
32839         ::windows::runtime::Interface::cast(value)
32840     }
32841 }
32842 #[cfg(feature = "Foundation")]
32843 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>32844     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
32845         ::windows::runtime::IntoParam::into_param(&self)
32846     }
32847 }
32848 #[cfg(feature = "Foundation")]
32849 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>32850     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
32851         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
32852     }
32853 }
32854 impl ::std::convert::TryFrom<ShapeVisual> for IAnimationObject {
32855     type Error = ::windows::runtime::Error;
try_from(value: ShapeVisual) -> ::windows::runtime::Result<Self>32856     fn try_from(value: ShapeVisual) -> ::windows::runtime::Result<Self> {
32857         ::std::convert::TryFrom::try_from(&value)
32858     }
32859 }
32860 impl ::std::convert::TryFrom<&ShapeVisual> for IAnimationObject {
32861     type Error = ::windows::runtime::Error;
try_from(value: &ShapeVisual) -> ::windows::runtime::Result<Self>32862     fn try_from(value: &ShapeVisual) -> ::windows::runtime::Result<Self> {
32863         ::windows::runtime::Interface::cast(value)
32864     }
32865 }
32866 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>32867     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
32868         ::windows::runtime::IntoParam::into_param(&self)
32869     }
32870 }
32871 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>32872     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
32873         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
32874     }
32875 }
32876 impl ::std::convert::From<ShapeVisual> for ContainerVisual {
from(value: ShapeVisual) -> Self32877     fn from(value: ShapeVisual) -> Self {
32878         ::std::convert::Into::<ContainerVisual>::into(&value)
32879     }
32880 }
32881 impl ::std::convert::From<&ShapeVisual> for ContainerVisual {
from(value: &ShapeVisual) -> Self32882     fn from(value: &ShapeVisual) -> Self {
32883         ::windows::runtime::Interface::cast(value).unwrap()
32884     }
32885 }
32886 impl<'a> ::windows::runtime::IntoParam<'a, ContainerVisual> for ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual>32887     fn into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual> {
32888         ::windows::runtime::Param::Owned(::std::convert::Into::<ContainerVisual>::into(self))
32889     }
32890 }
32891 impl<'a> ::windows::runtime::IntoParam<'a, ContainerVisual> for &ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual>32892     fn into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual> {
32893         ::windows::runtime::Param::Owned(::std::convert::Into::<ContainerVisual>::into(::std::clone::Clone::clone(self)))
32894     }
32895 }
32896 impl ::std::convert::From<ShapeVisual> for Visual {
from(value: ShapeVisual) -> Self32897     fn from(value: ShapeVisual) -> Self {
32898         ::std::convert::Into::<Visual>::into(&value)
32899     }
32900 }
32901 impl ::std::convert::From<&ShapeVisual> for Visual {
from(value: &ShapeVisual) -> Self32902     fn from(value: &ShapeVisual) -> Self {
32903         ::windows::runtime::Interface::cast(value).unwrap()
32904     }
32905 }
32906 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>32907     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
32908         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(self))
32909     }
32910 }
32911 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for &ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>32912     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
32913         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(::std::clone::Clone::clone(self)))
32914     }
32915 }
32916 impl ::std::convert::From<ShapeVisual> for CompositionObject {
from(value: ShapeVisual) -> Self32917     fn from(value: ShapeVisual) -> Self {
32918         ::std::convert::Into::<CompositionObject>::into(&value)
32919     }
32920 }
32921 impl ::std::convert::From<&ShapeVisual> for CompositionObject {
from(value: &ShapeVisual) -> Self32922     fn from(value: &ShapeVisual) -> Self {
32923         ::windows::runtime::Interface::cast(value).unwrap()
32924     }
32925 }
32926 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>32927     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
32928         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
32929     }
32930 }
32931 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &ShapeVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>32932     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
32933         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
32934     }
32935 }
32936 unsafe impl ::std::marker::Send for ShapeVisual {}
32937 unsafe impl ::std::marker::Sync for ShapeVisual {}
32938 #[repr(transparent)]
32939 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
32940 pub struct SineEasingFunction(::windows::runtime::IInspectable);
32941 impl SineEasingFunction {
Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode>32942     pub fn Mode(&self) -> ::windows::runtime::Result<CompositionEasingFunctionMode> {
32943         let this = self;
32944         unsafe {
32945             let mut result__: CompositionEasingFunctionMode = ::std::mem::zeroed();
32946             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionEasingFunctionMode>(result__)
32947         }
32948     }
32949     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>32950     pub fn Close(&self) -> ::windows::runtime::Result<()> {
32951         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
32952         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
32953     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>32954     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
32955         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32956         unsafe {
32957             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32958             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
32959         }
32960     }
32961     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>32962     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
32963         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32964         unsafe {
32965             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32966             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
32967         }
32968     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>32969     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
32970         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32971         unsafe {
32972             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32973             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
32974         }
32975     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>32976     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
32977         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32978         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
32979     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>32980     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
32981         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
32982         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
32983     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>32984     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
32985         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32986         unsafe {
32987             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
32988             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
32989         }
32990     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>32991     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
32992         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32993         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
32994     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>32995     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
32996         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
32997         unsafe {
32998             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
32999             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
33000         }
33001     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>33002     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33003         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33004         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33005     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>33006     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33007         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33008         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33009     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>33010     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33011         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33012         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33013     }
33014     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>33015     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
33016         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
33017         unsafe {
33018             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33019             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
33020         }
33021     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>33022     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
33023         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
33024         unsafe {
33025             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33026             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
33027         }
33028     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>33029     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
33030         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
33031         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
33032     }
33033 }
33034 unsafe impl ::windows::runtime::RuntimeType for SineEasingFunction {
33035     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SineEasingFunction;{f1b518bf-9563-5474-bd13-44b2df4b1d58})");
33036 }
33037 unsafe impl ::windows::runtime::Interface for SineEasingFunction {
33038     type Vtable = ISineEasingFunction_abi;
33039     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4055177407, 38243, 21620, [189, 19, 68, 178, 223, 75, 29, 88]);
33040 }
33041 impl ::windows::runtime::RuntimeName for SineEasingFunction {
33042     const NAME: &'static str = "Windows.UI.Composition.SineEasingFunction";
33043 }
33044 impl ::std::convert::From<SineEasingFunction> for ::windows::runtime::IUnknown {
from(value: SineEasingFunction) -> Self33045     fn from(value: SineEasingFunction) -> Self {
33046         unsafe { ::std::mem::transmute(value) }
33047     }
33048 }
33049 impl ::std::convert::From<&SineEasingFunction> for ::windows::runtime::IUnknown {
from(value: &SineEasingFunction) -> Self33050     fn from(value: &SineEasingFunction) -> Self {
33051         ::std::convert::From::from(::std::clone::Clone::clone(value))
33052     }
33053 }
33054 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>33055     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
33056         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
33057     }
33058 }
33059 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>33060     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
33061         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
33062     }
33063 }
33064 impl ::std::convert::From<SineEasingFunction> for ::windows::runtime::IInspectable {
from(value: SineEasingFunction) -> Self33065     fn from(value: SineEasingFunction) -> Self {
33066         value.0
33067     }
33068 }
33069 impl ::std::convert::From<&SineEasingFunction> for ::windows::runtime::IInspectable {
from(value: &SineEasingFunction) -> Self33070     fn from(value: &SineEasingFunction) -> Self {
33071         value.0.clone()
33072     }
33073 }
33074 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>33075     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
33076         ::windows::runtime::Param::Owned(self.0)
33077     }
33078 }
33079 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>33080     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
33081         ::windows::runtime::Param::Borrowed(&self.0)
33082     }
33083 }
33084 #[cfg(feature = "Foundation")]
33085 impl ::std::convert::TryFrom<SineEasingFunction> for super::super::Foundation::IClosable {
33086     type Error = ::windows::runtime::Error;
try_from(value: SineEasingFunction) -> ::windows::runtime::Result<Self>33087     fn try_from(value: SineEasingFunction) -> ::windows::runtime::Result<Self> {
33088         ::std::convert::TryFrom::try_from(&value)
33089     }
33090 }
33091 #[cfg(feature = "Foundation")]
33092 impl ::std::convert::TryFrom<&SineEasingFunction> for super::super::Foundation::IClosable {
33093     type Error = ::windows::runtime::Error;
try_from(value: &SineEasingFunction) -> ::windows::runtime::Result<Self>33094     fn try_from(value: &SineEasingFunction) -> ::windows::runtime::Result<Self> {
33095         ::windows::runtime::Interface::cast(value)
33096     }
33097 }
33098 #[cfg(feature = "Foundation")]
33099 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>33100     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
33101         ::windows::runtime::IntoParam::into_param(&self)
33102     }
33103 }
33104 #[cfg(feature = "Foundation")]
33105 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>33106     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
33107         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
33108     }
33109 }
33110 impl ::std::convert::TryFrom<SineEasingFunction> for IAnimationObject {
33111     type Error = ::windows::runtime::Error;
try_from(value: SineEasingFunction) -> ::windows::runtime::Result<Self>33112     fn try_from(value: SineEasingFunction) -> ::windows::runtime::Result<Self> {
33113         ::std::convert::TryFrom::try_from(&value)
33114     }
33115 }
33116 impl ::std::convert::TryFrom<&SineEasingFunction> for IAnimationObject {
33117     type Error = ::windows::runtime::Error;
try_from(value: &SineEasingFunction) -> ::windows::runtime::Result<Self>33118     fn try_from(value: &SineEasingFunction) -> ::windows::runtime::Result<Self> {
33119         ::windows::runtime::Interface::cast(value)
33120     }
33121 }
33122 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>33123     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
33124         ::windows::runtime::IntoParam::into_param(&self)
33125     }
33126 }
33127 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>33128     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
33129         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
33130     }
33131 }
33132 impl ::std::convert::From<SineEasingFunction> for CompositionEasingFunction {
from(value: SineEasingFunction) -> Self33133     fn from(value: SineEasingFunction) -> Self {
33134         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
33135     }
33136 }
33137 impl ::std::convert::From<&SineEasingFunction> for CompositionEasingFunction {
from(value: &SineEasingFunction) -> Self33138     fn from(value: &SineEasingFunction) -> Self {
33139         ::windows::runtime::Interface::cast(value).unwrap()
33140     }
33141 }
33142 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>33143     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
33144         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
33145     }
33146 }
33147 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>33148     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
33149         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
33150     }
33151 }
33152 impl ::std::convert::From<SineEasingFunction> for CompositionObject {
from(value: SineEasingFunction) -> Self33153     fn from(value: SineEasingFunction) -> Self {
33154         ::std::convert::Into::<CompositionObject>::into(&value)
33155     }
33156 }
33157 impl ::std::convert::From<&SineEasingFunction> for CompositionObject {
from(value: &SineEasingFunction) -> Self33158     fn from(value: &SineEasingFunction) -> Self {
33159         ::windows::runtime::Interface::cast(value).unwrap()
33160     }
33161 }
33162 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>33163     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
33164         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
33165     }
33166 }
33167 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &SineEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>33168     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
33169         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
33170     }
33171 }
33172 unsafe impl ::std::marker::Send for SineEasingFunction {}
33173 unsafe impl ::std::marker::Sync for SineEasingFunction {}
33174 #[repr(transparent)]
33175 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
33176 pub struct SpotLight(::windows::runtime::IInspectable);
33177 impl SpotLight {
ConstantAttenuation(&self) -> ::windows::runtime::Result<f32>33178     pub fn ConstantAttenuation(&self) -> ::windows::runtime::Result<f32> {
33179         let this = self;
33180         unsafe {
33181             let mut result__: f32 = ::std::mem::zeroed();
33182             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33183         }
33184     }
SetConstantAttenuation(&self, value: f32) -> ::windows::runtime::Result<()>33185     pub fn SetConstantAttenuation(&self, value: f32) -> ::windows::runtime::Result<()> {
33186         let this = self;
33187         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
33188     }
CoordinateSpace(&self) -> ::windows::runtime::Result<Visual>33189     pub fn CoordinateSpace(&self) -> ::windows::runtime::Result<Visual> {
33190         let this = self;
33191         unsafe {
33192             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33193             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
33194         }
33195     }
SetCoordinateSpace<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>33196     pub fn SetCoordinateSpace<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33197         let this = self;
33198         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33199     }
33200     #[cfg(feature = "Foundation_Numerics")]
Direction(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>33201     pub fn Direction(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
33202         let this = self;
33203         unsafe {
33204             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
33205             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
33206         }
33207     }
33208     #[cfg(feature = "Foundation_Numerics")]
SetDirection<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>33209     pub fn SetDirection<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33210         let this = self;
33211         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33212     }
InnerConeAngle(&self) -> ::windows::runtime::Result<f32>33213     pub fn InnerConeAngle(&self) -> ::windows::runtime::Result<f32> {
33214         let this = self;
33215         unsafe {
33216             let mut result__: f32 = ::std::mem::zeroed();
33217             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33218         }
33219     }
SetInnerConeAngle(&self, value: f32) -> ::windows::runtime::Result<()>33220     pub fn SetInnerConeAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
33221         let this = self;
33222         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
33223     }
InnerConeAngleInDegrees(&self) -> ::windows::runtime::Result<f32>33224     pub fn InnerConeAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
33225         let this = self;
33226         unsafe {
33227             let mut result__: f32 = ::std::mem::zeroed();
33228             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33229         }
33230     }
SetInnerConeAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>33231     pub fn SetInnerConeAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
33232         let this = self;
33233         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
33234     }
InnerConeColor(&self) -> ::windows::runtime::Result<super::Color>33235     pub fn InnerConeColor(&self) -> ::windows::runtime::Result<super::Color> {
33236         let this = self;
33237         unsafe {
33238             let mut result__: super::Color = ::std::mem::zeroed();
33239             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
33240         }
33241     }
SetInnerConeColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>33242     pub fn SetInnerConeColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33243         let this = self;
33244         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33245     }
LinearAttenuation(&self) -> ::windows::runtime::Result<f32>33246     pub fn LinearAttenuation(&self) -> ::windows::runtime::Result<f32> {
33247         let this = self;
33248         unsafe {
33249             let mut result__: f32 = ::std::mem::zeroed();
33250             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33251         }
33252     }
SetLinearAttenuation(&self, value: f32) -> ::windows::runtime::Result<()>33253     pub fn SetLinearAttenuation(&self, value: f32) -> ::windows::runtime::Result<()> {
33254         let this = self;
33255         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
33256     }
33257     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>33258     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
33259         let this = self;
33260         unsafe {
33261             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
33262             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
33263         }
33264     }
33265     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>33266     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33267         let this = self;
33268         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33269     }
OuterConeAngle(&self) -> ::windows::runtime::Result<f32>33270     pub fn OuterConeAngle(&self) -> ::windows::runtime::Result<f32> {
33271         let this = self;
33272         unsafe {
33273             let mut result__: f32 = ::std::mem::zeroed();
33274             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33275         }
33276     }
SetOuterConeAngle(&self, value: f32) -> ::windows::runtime::Result<()>33277     pub fn SetOuterConeAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
33278         let this = self;
33279         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
33280     }
OuterConeAngleInDegrees(&self) -> ::windows::runtime::Result<f32>33281     pub fn OuterConeAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
33282         let this = self;
33283         unsafe {
33284             let mut result__: f32 = ::std::mem::zeroed();
33285             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33286         }
33287     }
SetOuterConeAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>33288     pub fn SetOuterConeAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
33289         let this = self;
33290         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value).ok() }
33291     }
OuterConeColor(&self) -> ::windows::runtime::Result<super::Color>33292     pub fn OuterConeColor(&self) -> ::windows::runtime::Result<super::Color> {
33293         let this = self;
33294         unsafe {
33295             let mut result__: super::Color = ::std::mem::zeroed();
33296             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
33297         }
33298     }
SetOuterConeColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>33299     pub fn SetOuterConeColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33300         let this = self;
33301         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33302     }
QuadraticAttenuation(&self) -> ::windows::runtime::Result<f32>33303     pub fn QuadraticAttenuation(&self) -> ::windows::runtime::Result<f32> {
33304         let this = self;
33305         unsafe {
33306             let mut result__: f32 = ::std::mem::zeroed();
33307             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33308         }
33309     }
SetQuadraticAttenuation(&self, value: f32) -> ::windows::runtime::Result<()>33310     pub fn SetQuadraticAttenuation(&self, value: f32) -> ::windows::runtime::Result<()> {
33311         let this = self;
33312         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value).ok() }
33313     }
InnerConeIntensity(&self) -> ::windows::runtime::Result<f32>33314     pub fn InnerConeIntensity(&self) -> ::windows::runtime::Result<f32> {
33315         let this = &::windows::runtime::Interface::cast::<ISpotLight2>(self)?;
33316         unsafe {
33317             let mut result__: f32 = ::std::mem::zeroed();
33318             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33319         }
33320     }
SetInnerConeIntensity(&self, value: f32) -> ::windows::runtime::Result<()>33321     pub fn SetInnerConeIntensity(&self, value: f32) -> ::windows::runtime::Result<()> {
33322         let this = &::windows::runtime::Interface::cast::<ISpotLight2>(self)?;
33323         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
33324     }
OuterConeIntensity(&self) -> ::windows::runtime::Result<f32>33325     pub fn OuterConeIntensity(&self) -> ::windows::runtime::Result<f32> {
33326         let this = &::windows::runtime::Interface::cast::<ISpotLight2>(self)?;
33327         unsafe {
33328             let mut result__: f32 = ::std::mem::zeroed();
33329             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33330         }
33331     }
SetOuterConeIntensity(&self, value: f32) -> ::windows::runtime::Result<()>33332     pub fn SetOuterConeIntensity(&self, value: f32) -> ::windows::runtime::Result<()> {
33333         let this = &::windows::runtime::Interface::cast::<ISpotLight2>(self)?;
33334         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
33335     }
MinAttenuationCutoff(&self) -> ::windows::runtime::Result<f32>33336     pub fn MinAttenuationCutoff(&self) -> ::windows::runtime::Result<f32> {
33337         let this = &::windows::runtime::Interface::cast::<ISpotLight3>(self)?;
33338         unsafe {
33339             let mut result__: f32 = ::std::mem::zeroed();
33340             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33341         }
33342     }
SetMinAttenuationCutoff(&self, value: f32) -> ::windows::runtime::Result<()>33343     pub fn SetMinAttenuationCutoff(&self, value: f32) -> ::windows::runtime::Result<()> {
33344         let this = &::windows::runtime::Interface::cast::<ISpotLight3>(self)?;
33345         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
33346     }
MaxAttenuationCutoff(&self) -> ::windows::runtime::Result<f32>33347     pub fn MaxAttenuationCutoff(&self) -> ::windows::runtime::Result<f32> {
33348         let this = &::windows::runtime::Interface::cast::<ISpotLight3>(self)?;
33349         unsafe {
33350             let mut result__: f32 = ::std::mem::zeroed();
33351             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33352         }
33353     }
SetMaxAttenuationCutoff(&self, value: f32) -> ::windows::runtime::Result<()>33354     pub fn SetMaxAttenuationCutoff(&self, value: f32) -> ::windows::runtime::Result<()> {
33355         let this = &::windows::runtime::Interface::cast::<ISpotLight3>(self)?;
33356         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
33357     }
33358     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>33359     pub fn Close(&self) -> ::windows::runtime::Result<()> {
33360         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
33361         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
33362     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>33363     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
33364         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33365         unsafe {
33366             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33367             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
33368         }
33369     }
33370     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>33371     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
33372         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33373         unsafe {
33374             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33375             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
33376         }
33377     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>33378     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
33379         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33380         unsafe {
33381             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33382             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
33383         }
33384     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>33385     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
33386         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33387         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
33388     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>33389     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
33390         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33391         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
33392     }
Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>33393     pub fn Targets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
33394         let this = &::windows::runtime::Interface::cast::<ICompositionLight>(self)?;
33395         unsafe {
33396             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33397             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
33398         }
33399     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>33400     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
33401         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33402         unsafe {
33403             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
33404             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
33405         }
33406     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>33407     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33408         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33409         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33410     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>33411     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
33412         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33413         unsafe {
33414             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33415             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
33416         }
33417     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>33418     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33419         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33420         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33421     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>33422     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33423         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33424         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33425     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>33426     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33427         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33428         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33429     }
ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection>33430     pub fn ExclusionsFromTargets(&self) -> ::windows::runtime::Result<VisualUnorderedCollection> {
33431         let this = &::windows::runtime::Interface::cast::<ICompositionLight2>(self)?;
33432         unsafe {
33433             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33434             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualUnorderedCollection>(result__)
33435         }
33436     }
33437     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>33438     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
33439         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
33440         unsafe {
33441             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33442             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
33443         }
33444     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>33445     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
33446         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
33447         unsafe {
33448             let mut result__: bool = ::std::mem::zeroed();
33449             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
33450         }
33451     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>33452     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
33453         let this = &::windows::runtime::Interface::cast::<ICompositionLight3>(self)?;
33454         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
33455     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>33456     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
33457         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
33458         unsafe {
33459             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33460             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
33461         }
33462     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>33463     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
33464         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
33465         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
33466     }
33467 }
33468 unsafe impl ::windows::runtime::RuntimeType for SpotLight {
33469     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpotLight;{5a9fe273-44a1-4f95-a422-8fa5116bdb44})");
33470 }
33471 unsafe impl ::windows::runtime::Interface for SpotLight {
33472     type Vtable = ISpotLight_abi;
33473     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1520427635, 17569, 20373, [164, 34, 143, 165, 17, 107, 219, 68]);
33474 }
33475 impl ::windows::runtime::RuntimeName for SpotLight {
33476     const NAME: &'static str = "Windows.UI.Composition.SpotLight";
33477 }
33478 impl ::std::convert::From<SpotLight> for ::windows::runtime::IUnknown {
from(value: SpotLight) -> Self33479     fn from(value: SpotLight) -> Self {
33480         unsafe { ::std::mem::transmute(value) }
33481     }
33482 }
33483 impl ::std::convert::From<&SpotLight> for ::windows::runtime::IUnknown {
from(value: &SpotLight) -> Self33484     fn from(value: &SpotLight) -> Self {
33485         ::std::convert::From::from(::std::clone::Clone::clone(value))
33486     }
33487 }
33488 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>33489     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
33490         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
33491     }
33492 }
33493 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>33494     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
33495         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
33496     }
33497 }
33498 impl ::std::convert::From<SpotLight> for ::windows::runtime::IInspectable {
from(value: SpotLight) -> Self33499     fn from(value: SpotLight) -> Self {
33500         value.0
33501     }
33502 }
33503 impl ::std::convert::From<&SpotLight> for ::windows::runtime::IInspectable {
from(value: &SpotLight) -> Self33504     fn from(value: &SpotLight) -> Self {
33505         value.0.clone()
33506     }
33507 }
33508 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>33509     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
33510         ::windows::runtime::Param::Owned(self.0)
33511     }
33512 }
33513 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>33514     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
33515         ::windows::runtime::Param::Borrowed(&self.0)
33516     }
33517 }
33518 #[cfg(feature = "Foundation")]
33519 impl ::std::convert::TryFrom<SpotLight> for super::super::Foundation::IClosable {
33520     type Error = ::windows::runtime::Error;
try_from(value: SpotLight) -> ::windows::runtime::Result<Self>33521     fn try_from(value: SpotLight) -> ::windows::runtime::Result<Self> {
33522         ::std::convert::TryFrom::try_from(&value)
33523     }
33524 }
33525 #[cfg(feature = "Foundation")]
33526 impl ::std::convert::TryFrom<&SpotLight> for super::super::Foundation::IClosable {
33527     type Error = ::windows::runtime::Error;
try_from(value: &SpotLight) -> ::windows::runtime::Result<Self>33528     fn try_from(value: &SpotLight) -> ::windows::runtime::Result<Self> {
33529         ::windows::runtime::Interface::cast(value)
33530     }
33531 }
33532 #[cfg(feature = "Foundation")]
33533 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>33534     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
33535         ::windows::runtime::IntoParam::into_param(&self)
33536     }
33537 }
33538 #[cfg(feature = "Foundation")]
33539 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>33540     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
33541         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
33542     }
33543 }
33544 impl ::std::convert::TryFrom<SpotLight> for IAnimationObject {
33545     type Error = ::windows::runtime::Error;
try_from(value: SpotLight) -> ::windows::runtime::Result<Self>33546     fn try_from(value: SpotLight) -> ::windows::runtime::Result<Self> {
33547         ::std::convert::TryFrom::try_from(&value)
33548     }
33549 }
33550 impl ::std::convert::TryFrom<&SpotLight> for IAnimationObject {
33551     type Error = ::windows::runtime::Error;
try_from(value: &SpotLight) -> ::windows::runtime::Result<Self>33552     fn try_from(value: &SpotLight) -> ::windows::runtime::Result<Self> {
33553         ::windows::runtime::Interface::cast(value)
33554     }
33555 }
33556 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>33557     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
33558         ::windows::runtime::IntoParam::into_param(&self)
33559     }
33560 }
33561 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>33562     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
33563         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
33564     }
33565 }
33566 impl ::std::convert::From<SpotLight> for CompositionLight {
from(value: SpotLight) -> Self33567     fn from(value: SpotLight) -> Self {
33568         ::std::convert::Into::<CompositionLight>::into(&value)
33569     }
33570 }
33571 impl ::std::convert::From<&SpotLight> for CompositionLight {
from(value: &SpotLight) -> Self33572     fn from(value: &SpotLight) -> Self {
33573         ::windows::runtime::Interface::cast(value).unwrap()
33574     }
33575 }
33576 impl<'a> ::windows::runtime::IntoParam<'a, CompositionLight> for SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionLight>33577     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionLight> {
33578         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionLight>::into(self))
33579     }
33580 }
33581 impl<'a> ::windows::runtime::IntoParam<'a, CompositionLight> for &SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionLight>33582     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionLight> {
33583         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionLight>::into(::std::clone::Clone::clone(self)))
33584     }
33585 }
33586 impl ::std::convert::From<SpotLight> for CompositionObject {
from(value: SpotLight) -> Self33587     fn from(value: SpotLight) -> Self {
33588         ::std::convert::Into::<CompositionObject>::into(&value)
33589     }
33590 }
33591 impl ::std::convert::From<&SpotLight> for CompositionObject {
from(value: &SpotLight) -> Self33592     fn from(value: &SpotLight) -> Self {
33593         ::windows::runtime::Interface::cast(value).unwrap()
33594     }
33595 }
33596 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>33597     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
33598         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
33599     }
33600 }
33601 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &SpotLight {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>33602     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
33603         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
33604     }
33605 }
33606 unsafe impl ::std::marker::Send for SpotLight {}
33607 unsafe impl ::std::marker::Sync for SpotLight {}
33608 #[repr(transparent)]
33609 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
33610 pub struct SpringScalarNaturalMotionAnimation(::windows::runtime::IInspectable);
33611 impl SpringScalarNaturalMotionAnimation {
DampingRatio(&self) -> ::windows::runtime::Result<f32>33612     pub fn DampingRatio(&self) -> ::windows::runtime::Result<f32> {
33613         let this = self;
33614         unsafe {
33615             let mut result__: f32 = ::std::mem::zeroed();
33616             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33617         }
33618     }
SetDampingRatio(&self, value: f32) -> ::windows::runtime::Result<()>33619     pub fn SetDampingRatio(&self, value: f32) -> ::windows::runtime::Result<()> {
33620         let this = self;
33621         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
33622     }
33623     #[cfg(feature = "Foundation")]
Period(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>33624     pub fn Period(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
33625         let this = self;
33626         unsafe {
33627             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
33628             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
33629         }
33630     }
33631     #[cfg(feature = "Foundation")]
SetPeriod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>33632     pub fn SetPeriod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33633         let this = self;
33634         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33635     }
33636     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>33637     pub fn Close(&self) -> ::windows::runtime::Result<()> {
33638         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
33639         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
33640     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>33641     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
33642         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33643         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
33644     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>33645     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
33646         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33647         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
33648     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>33649     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
33650         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33651         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
33652     }
33653     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>33654     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
33655         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33656         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
33657     }
33658     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>33659     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
33660         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33661         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
33662     }
33663     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>33664     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
33665         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33666         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
33667     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>33668     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
33669         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33670         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
33671     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>33672     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
33673         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33674         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
33675     }
33676     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>33677     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
33678         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33679         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
33680     }
33681     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>33682     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
33683         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33684         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
33685     }
33686     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>33687     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
33688         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
33689         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
33690     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>33691     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
33692         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33693         unsafe {
33694             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33695             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
33696         }
33697     }
33698     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>33699     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
33700         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33701         unsafe {
33702             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33703             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
33704         }
33705     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>33706     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
33707         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33708         unsafe {
33709             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33710             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
33711         }
33712     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>33713     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
33714         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33715         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
33716     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>33717     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
33718         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
33719         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
33720     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>33721     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
33722         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
33723         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
33724     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>33725     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
33726         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
33727         unsafe {
33728             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
33729             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
33730         }
33731     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>33732     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33733         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
33734         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33735     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>33736     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
33737         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33738         unsafe {
33739             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
33740             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
33741         }
33742     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>33743     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33744         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33745         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33746     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>33747     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
33748         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33749         unsafe {
33750             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33751             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
33752         }
33753     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>33754     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33755         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33756         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33757     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>33758     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33759         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33760         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33761     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>33762     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33763         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
33764         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33765     }
33766     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>33767     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
33768         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
33769         unsafe {
33770             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33771             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
33772         }
33773     }
33774     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>33775     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
33776         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
33777         unsafe {
33778             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33779             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
33780         }
33781     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>33782     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
33783         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
33784         unsafe {
33785             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
33786             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
33787         }
33788     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>33789     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
33790         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
33791         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
33792     }
33793     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>33794     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
33795         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
33796         unsafe {
33797             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
33798             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
33799         }
33800     }
33801     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>33802     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33803         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
33804         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33805     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>33806     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
33807         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
33808         unsafe {
33809             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
33810             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
33811         }
33812     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>33813     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
33814         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
33815         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
33816     }
33817     #[cfg(feature = "Foundation")]
FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>>33818     pub fn FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>> {
33819         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
33820         unsafe {
33821             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33822             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f32>>(result__)
33823         }
33824     }
33825     #[cfg(feature = "Foundation")]
SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()>33826     pub fn SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33827         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
33828         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33829     }
33830     #[cfg(feature = "Foundation")]
InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>>33831     pub fn InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f32>> {
33832         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
33833         unsafe {
33834             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33835             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f32>>(result__)
33836         }
33837     }
33838     #[cfg(feature = "Foundation")]
SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()>33839     pub fn SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<f32>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
33840         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
33841         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
33842     }
InitialVelocity(&self) -> ::windows::runtime::Result<f32>33843     pub fn InitialVelocity(&self) -> ::windows::runtime::Result<f32> {
33844         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
33845         unsafe {
33846             let mut result__: f32 = ::std::mem::zeroed();
33847             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
33848         }
33849     }
SetInitialVelocity(&self, value: f32) -> ::windows::runtime::Result<()>33850     pub fn SetInitialVelocity(&self, value: f32) -> ::windows::runtime::Result<()> {
33851         let this = &::windows::runtime::Interface::cast::<IScalarNaturalMotionAnimation>(self)?;
33852         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
33853     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>33854     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
33855         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
33856         unsafe {
33857             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
33858             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
33859         }
33860     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>33861     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
33862         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
33863         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
33864     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>33865     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
33866         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
33867         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
33868     }
33869 }
33870 unsafe impl ::windows::runtime::RuntimeType for SpringScalarNaturalMotionAnimation {
33871     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpringScalarNaturalMotionAnimation;{0572a95f-37f9-4fbe-b87b-5cd03a89501c})");
33872 }
33873 unsafe impl ::windows::runtime::Interface for SpringScalarNaturalMotionAnimation {
33874     type Vtable = ISpringScalarNaturalMotionAnimation_abi;
33875     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(91400543, 14329, 20414, [184, 123, 92, 208, 58, 137, 80, 28]);
33876 }
33877 impl ::windows::runtime::RuntimeName for SpringScalarNaturalMotionAnimation {
33878     const NAME: &'static str = "Windows.UI.Composition.SpringScalarNaturalMotionAnimation";
33879 }
33880 impl ::std::convert::From<SpringScalarNaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: SpringScalarNaturalMotionAnimation) -> Self33881     fn from(value: SpringScalarNaturalMotionAnimation) -> Self {
33882         unsafe { ::std::mem::transmute(value) }
33883     }
33884 }
33885 impl ::std::convert::From<&SpringScalarNaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &SpringScalarNaturalMotionAnimation) -> Self33886     fn from(value: &SpringScalarNaturalMotionAnimation) -> Self {
33887         ::std::convert::From::from(::std::clone::Clone::clone(value))
33888     }
33889 }
33890 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>33891     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
33892         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
33893     }
33894 }
33895 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>33896     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
33897         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
33898     }
33899 }
33900 impl ::std::convert::From<SpringScalarNaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: SpringScalarNaturalMotionAnimation) -> Self33901     fn from(value: SpringScalarNaturalMotionAnimation) -> Self {
33902         value.0
33903     }
33904 }
33905 impl ::std::convert::From<&SpringScalarNaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &SpringScalarNaturalMotionAnimation) -> Self33906     fn from(value: &SpringScalarNaturalMotionAnimation) -> Self {
33907         value.0.clone()
33908     }
33909 }
33910 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>33911     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
33912         ::windows::runtime::Param::Owned(self.0)
33913     }
33914 }
33915 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>33916     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
33917         ::windows::runtime::Param::Borrowed(&self.0)
33918     }
33919 }
33920 #[cfg(feature = "Foundation")]
33921 impl ::std::convert::TryFrom<SpringScalarNaturalMotionAnimation> for super::super::Foundation::IClosable {
33922     type Error = ::windows::runtime::Error;
try_from(value: SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>33923     fn try_from(value: SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
33924         ::std::convert::TryFrom::try_from(&value)
33925     }
33926 }
33927 #[cfg(feature = "Foundation")]
33928 impl ::std::convert::TryFrom<&SpringScalarNaturalMotionAnimation> for super::super::Foundation::IClosable {
33929     type Error = ::windows::runtime::Error;
try_from(value: &SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>33930     fn try_from(value: &SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
33931         ::windows::runtime::Interface::cast(value)
33932     }
33933 }
33934 #[cfg(feature = "Foundation")]
33935 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>33936     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
33937         ::windows::runtime::IntoParam::into_param(&self)
33938     }
33939 }
33940 #[cfg(feature = "Foundation")]
33941 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>33942     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
33943         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
33944     }
33945 }
33946 impl ::std::convert::TryFrom<SpringScalarNaturalMotionAnimation> for ICompositionAnimationBase {
33947     type Error = ::windows::runtime::Error;
try_from(value: SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>33948     fn try_from(value: SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
33949         ::std::convert::TryFrom::try_from(&value)
33950     }
33951 }
33952 impl ::std::convert::TryFrom<&SpringScalarNaturalMotionAnimation> for ICompositionAnimationBase {
33953     type Error = ::windows::runtime::Error;
try_from(value: &SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>33954     fn try_from(value: &SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
33955         ::windows::runtime::Interface::cast(value)
33956     }
33957 }
33958 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>33959     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
33960         ::windows::runtime::IntoParam::into_param(&self)
33961     }
33962 }
33963 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>33964     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
33965         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
33966     }
33967 }
33968 impl ::std::convert::TryFrom<SpringScalarNaturalMotionAnimation> for IAnimationObject {
33969     type Error = ::windows::runtime::Error;
try_from(value: SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>33970     fn try_from(value: SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
33971         ::std::convert::TryFrom::try_from(&value)
33972     }
33973 }
33974 impl ::std::convert::TryFrom<&SpringScalarNaturalMotionAnimation> for IAnimationObject {
33975     type Error = ::windows::runtime::Error;
try_from(value: &SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self>33976     fn try_from(value: &SpringScalarNaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
33977         ::windows::runtime::Interface::cast(value)
33978     }
33979 }
33980 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>33981     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
33982         ::windows::runtime::IntoParam::into_param(&self)
33983     }
33984 }
33985 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>33986     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
33987         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
33988     }
33989 }
33990 impl ::std::convert::From<SpringScalarNaturalMotionAnimation> for ScalarNaturalMotionAnimation {
from(value: SpringScalarNaturalMotionAnimation) -> Self33991     fn from(value: SpringScalarNaturalMotionAnimation) -> Self {
33992         ::std::convert::Into::<ScalarNaturalMotionAnimation>::into(&value)
33993     }
33994 }
33995 impl ::std::convert::From<&SpringScalarNaturalMotionAnimation> for ScalarNaturalMotionAnimation {
from(value: &SpringScalarNaturalMotionAnimation) -> Self33996     fn from(value: &SpringScalarNaturalMotionAnimation) -> Self {
33997         ::windows::runtime::Interface::cast(value).unwrap()
33998     }
33999 }
34000 impl<'a> ::windows::runtime::IntoParam<'a, ScalarNaturalMotionAnimation> for SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ScalarNaturalMotionAnimation>34001     fn into_param(self) -> ::windows::runtime::Param<'a, ScalarNaturalMotionAnimation> {
34002         ::windows::runtime::Param::Owned(::std::convert::Into::<ScalarNaturalMotionAnimation>::into(self))
34003     }
34004 }
34005 impl<'a> ::windows::runtime::IntoParam<'a, ScalarNaturalMotionAnimation> for &SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ScalarNaturalMotionAnimation>34006     fn into_param(self) -> ::windows::runtime::Param<'a, ScalarNaturalMotionAnimation> {
34007         ::windows::runtime::Param::Owned(::std::convert::Into::<ScalarNaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
34008     }
34009 }
34010 impl ::std::convert::From<SpringScalarNaturalMotionAnimation> for NaturalMotionAnimation {
from(value: SpringScalarNaturalMotionAnimation) -> Self34011     fn from(value: SpringScalarNaturalMotionAnimation) -> Self {
34012         ::std::convert::Into::<NaturalMotionAnimation>::into(&value)
34013     }
34014 }
34015 impl ::std::convert::From<&SpringScalarNaturalMotionAnimation> for NaturalMotionAnimation {
from(value: &SpringScalarNaturalMotionAnimation) -> Self34016     fn from(value: &SpringScalarNaturalMotionAnimation) -> Self {
34017         ::windows::runtime::Interface::cast(value).unwrap()
34018     }
34019 }
34020 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>34021     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
34022         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(self))
34023     }
34024 }
34025 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for &SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>34026     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
34027         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
34028     }
34029 }
34030 impl ::std::convert::From<SpringScalarNaturalMotionAnimation> for CompositionAnimation {
from(value: SpringScalarNaturalMotionAnimation) -> Self34031     fn from(value: SpringScalarNaturalMotionAnimation) -> Self {
34032         ::std::convert::Into::<CompositionAnimation>::into(&value)
34033     }
34034 }
34035 impl ::std::convert::From<&SpringScalarNaturalMotionAnimation> for CompositionAnimation {
from(value: &SpringScalarNaturalMotionAnimation) -> Self34036     fn from(value: &SpringScalarNaturalMotionAnimation) -> Self {
34037         ::windows::runtime::Interface::cast(value).unwrap()
34038     }
34039 }
34040 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>34041     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
34042         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
34043     }
34044 }
34045 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>34046     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
34047         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
34048     }
34049 }
34050 impl ::std::convert::From<SpringScalarNaturalMotionAnimation> for CompositionObject {
from(value: SpringScalarNaturalMotionAnimation) -> Self34051     fn from(value: SpringScalarNaturalMotionAnimation) -> Self {
34052         ::std::convert::Into::<CompositionObject>::into(&value)
34053     }
34054 }
34055 impl ::std::convert::From<&SpringScalarNaturalMotionAnimation> for CompositionObject {
from(value: &SpringScalarNaturalMotionAnimation) -> Self34056     fn from(value: &SpringScalarNaturalMotionAnimation) -> Self {
34057         ::windows::runtime::Interface::cast(value).unwrap()
34058     }
34059 }
34060 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>34061     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
34062         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
34063     }
34064 }
34065 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &SpringScalarNaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>34066     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
34067         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
34068     }
34069 }
34070 unsafe impl ::std::marker::Send for SpringScalarNaturalMotionAnimation {}
34071 unsafe impl ::std::marker::Sync for SpringScalarNaturalMotionAnimation {}
34072 #[repr(transparent)]
34073 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
34074 pub struct SpringVector2NaturalMotionAnimation(::windows::runtime::IInspectable);
34075 impl SpringVector2NaturalMotionAnimation {
DampingRatio(&self) -> ::windows::runtime::Result<f32>34076     pub fn DampingRatio(&self) -> ::windows::runtime::Result<f32> {
34077         let this = self;
34078         unsafe {
34079             let mut result__: f32 = ::std::mem::zeroed();
34080             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
34081         }
34082     }
SetDampingRatio(&self, value: f32) -> ::windows::runtime::Result<()>34083     pub fn SetDampingRatio(&self, value: f32) -> ::windows::runtime::Result<()> {
34084         let this = self;
34085         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
34086     }
34087     #[cfg(feature = "Foundation")]
Period(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>34088     pub fn Period(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
34089         let this = self;
34090         unsafe {
34091             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
34092             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
34093         }
34094     }
34095     #[cfg(feature = "Foundation")]
SetPeriod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>34096     pub fn SetPeriod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34097         let this = self;
34098         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34099     }
34100     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>34101     pub fn Close(&self) -> ::windows::runtime::Result<()> {
34102         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
34103         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
34104     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>34105     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
34106         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34107         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
34108     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>34109     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
34110         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34111         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
34112     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34113     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34114         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34115         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34116     }
34117     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34118     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34119         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34120         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34121     }
34122     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34123     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34124         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34125         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34126     }
34127     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34128     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34129         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34130         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34131     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>34132     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
34133         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34134         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
34135     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>34136     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
34137         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34138         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
34139     }
34140     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34141     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34142         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34143         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34144     }
34145     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34146     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34147         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34148         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34149     }
34150     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34151     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34152         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34153         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34154     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>34155     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
34156         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34157         unsafe {
34158             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34159             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
34160         }
34161     }
34162     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>34163     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
34164         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34165         unsafe {
34166             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34167             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
34168         }
34169     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>34170     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
34171         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34172         unsafe {
34173             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34174             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
34175         }
34176     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>34177     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
34178         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34179         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
34180     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>34181     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
34182         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34183         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
34184     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>34185     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
34186         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
34187         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
34188     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>34189     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
34190         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
34191         unsafe {
34192             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
34193             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
34194         }
34195     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>34196     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34197         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
34198         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34199     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>34200     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
34201         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34202         unsafe {
34203             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
34204             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
34205         }
34206     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>34207     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34208         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34209         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34210     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>34211     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
34212         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34213         unsafe {
34214             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34215             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
34216         }
34217     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>34218     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34219         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34220         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34221     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>34222     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34223         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34224         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34225     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>34226     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34227         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34228         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34229     }
34230     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>34231     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
34232         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
34233         unsafe {
34234             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34235             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
34236         }
34237     }
34238     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>34239     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
34240         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
34241         unsafe {
34242             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34243             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
34244         }
34245     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>34246     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
34247         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34248         unsafe {
34249             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
34250             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
34251         }
34252     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>34253     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
34254         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34255         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
34256     }
34257     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>34258     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
34259         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34260         unsafe {
34261             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
34262             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
34263         }
34264     }
34265     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>34266     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34267         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34268         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34269     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>34270     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
34271         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34272         unsafe {
34273             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
34274             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
34275         }
34276     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>34277     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
34278         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34279         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
34280     }
34281     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>34282     pub fn FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
34283         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
34284         unsafe {
34285             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34286             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>(result__)
34287         }
34288     }
34289     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()>34290     pub fn SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34291         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
34292         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34293     }
34294     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>34295     pub fn InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
34296         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
34297         unsafe {
34298             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34299             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>(result__)
34300         }
34301     }
34302     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()>34303     pub fn SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34304         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
34305         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34306     }
34307     #[cfg(feature = "Foundation_Numerics")]
InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>34308     pub fn InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
34309         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
34310         unsafe {
34311             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
34312             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
34313         }
34314     }
34315     #[cfg(feature = "Foundation_Numerics")]
SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>34316     pub fn SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34317         let this = &::windows::runtime::Interface::cast::<IVector2NaturalMotionAnimation>(self)?;
34318         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34319     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>34320     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
34321         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
34322         unsafe {
34323             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34324             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
34325         }
34326     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>34327     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
34328         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
34329         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
34330     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>34331     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
34332         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
34333         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
34334     }
34335 }
34336 unsafe impl ::windows::runtime::RuntimeType for SpringVector2NaturalMotionAnimation {
34337     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpringVector2NaturalMotionAnimation;{23f494b5-ee73-4f0f-a423-402b946df4b3})");
34338 }
34339 unsafe impl ::windows::runtime::Interface for SpringVector2NaturalMotionAnimation {
34340     type Vtable = ISpringVector2NaturalMotionAnimation_abi;
34341     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(603231413, 61043, 20239, [164, 35, 64, 43, 148, 109, 244, 179]);
34342 }
34343 impl ::windows::runtime::RuntimeName for SpringVector2NaturalMotionAnimation {
34344     const NAME: &'static str = "Windows.UI.Composition.SpringVector2NaturalMotionAnimation";
34345 }
34346 impl ::std::convert::From<SpringVector2NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: SpringVector2NaturalMotionAnimation) -> Self34347     fn from(value: SpringVector2NaturalMotionAnimation) -> Self {
34348         unsafe { ::std::mem::transmute(value) }
34349     }
34350 }
34351 impl ::std::convert::From<&SpringVector2NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &SpringVector2NaturalMotionAnimation) -> Self34352     fn from(value: &SpringVector2NaturalMotionAnimation) -> Self {
34353         ::std::convert::From::from(::std::clone::Clone::clone(value))
34354     }
34355 }
34356 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>34357     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
34358         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
34359     }
34360 }
34361 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>34362     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
34363         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
34364     }
34365 }
34366 impl ::std::convert::From<SpringVector2NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: SpringVector2NaturalMotionAnimation) -> Self34367     fn from(value: SpringVector2NaturalMotionAnimation) -> Self {
34368         value.0
34369     }
34370 }
34371 impl ::std::convert::From<&SpringVector2NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &SpringVector2NaturalMotionAnimation) -> Self34372     fn from(value: &SpringVector2NaturalMotionAnimation) -> Self {
34373         value.0.clone()
34374     }
34375 }
34376 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>34377     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
34378         ::windows::runtime::Param::Owned(self.0)
34379     }
34380 }
34381 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>34382     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
34383         ::windows::runtime::Param::Borrowed(&self.0)
34384     }
34385 }
34386 #[cfg(feature = "Foundation")]
34387 impl ::std::convert::TryFrom<SpringVector2NaturalMotionAnimation> for super::super::Foundation::IClosable {
34388     type Error = ::windows::runtime::Error;
try_from(value: SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34389     fn try_from(value: SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34390         ::std::convert::TryFrom::try_from(&value)
34391     }
34392 }
34393 #[cfg(feature = "Foundation")]
34394 impl ::std::convert::TryFrom<&SpringVector2NaturalMotionAnimation> for super::super::Foundation::IClosable {
34395     type Error = ::windows::runtime::Error;
try_from(value: &SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34396     fn try_from(value: &SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34397         ::windows::runtime::Interface::cast(value)
34398     }
34399 }
34400 #[cfg(feature = "Foundation")]
34401 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>34402     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
34403         ::windows::runtime::IntoParam::into_param(&self)
34404     }
34405 }
34406 #[cfg(feature = "Foundation")]
34407 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>34408     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
34409         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
34410     }
34411 }
34412 impl ::std::convert::TryFrom<SpringVector2NaturalMotionAnimation> for ICompositionAnimationBase {
34413     type Error = ::windows::runtime::Error;
try_from(value: SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34414     fn try_from(value: SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34415         ::std::convert::TryFrom::try_from(&value)
34416     }
34417 }
34418 impl ::std::convert::TryFrom<&SpringVector2NaturalMotionAnimation> for ICompositionAnimationBase {
34419     type Error = ::windows::runtime::Error;
try_from(value: &SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34420     fn try_from(value: &SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34421         ::windows::runtime::Interface::cast(value)
34422     }
34423 }
34424 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>34425     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
34426         ::windows::runtime::IntoParam::into_param(&self)
34427     }
34428 }
34429 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>34430     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
34431         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
34432     }
34433 }
34434 impl ::std::convert::TryFrom<SpringVector2NaturalMotionAnimation> for IAnimationObject {
34435     type Error = ::windows::runtime::Error;
try_from(value: SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34436     fn try_from(value: SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34437         ::std::convert::TryFrom::try_from(&value)
34438     }
34439 }
34440 impl ::std::convert::TryFrom<&SpringVector2NaturalMotionAnimation> for IAnimationObject {
34441     type Error = ::windows::runtime::Error;
try_from(value: &SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34442     fn try_from(value: &SpringVector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34443         ::windows::runtime::Interface::cast(value)
34444     }
34445 }
34446 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>34447     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
34448         ::windows::runtime::IntoParam::into_param(&self)
34449     }
34450 }
34451 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>34452     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
34453         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
34454     }
34455 }
34456 impl ::std::convert::From<SpringVector2NaturalMotionAnimation> for Vector2NaturalMotionAnimation {
from(value: SpringVector2NaturalMotionAnimation) -> Self34457     fn from(value: SpringVector2NaturalMotionAnimation) -> Self {
34458         ::std::convert::Into::<Vector2NaturalMotionAnimation>::into(&value)
34459     }
34460 }
34461 impl ::std::convert::From<&SpringVector2NaturalMotionAnimation> for Vector2NaturalMotionAnimation {
from(value: &SpringVector2NaturalMotionAnimation) -> Self34462     fn from(value: &SpringVector2NaturalMotionAnimation) -> Self {
34463         ::windows::runtime::Interface::cast(value).unwrap()
34464     }
34465 }
34466 impl<'a> ::windows::runtime::IntoParam<'a, Vector2NaturalMotionAnimation> for SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, Vector2NaturalMotionAnimation>34467     fn into_param(self) -> ::windows::runtime::Param<'a, Vector2NaturalMotionAnimation> {
34468         ::windows::runtime::Param::Owned(::std::convert::Into::<Vector2NaturalMotionAnimation>::into(self))
34469     }
34470 }
34471 impl<'a> ::windows::runtime::IntoParam<'a, Vector2NaturalMotionAnimation> for &SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, Vector2NaturalMotionAnimation>34472     fn into_param(self) -> ::windows::runtime::Param<'a, Vector2NaturalMotionAnimation> {
34473         ::windows::runtime::Param::Owned(::std::convert::Into::<Vector2NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
34474     }
34475 }
34476 impl ::std::convert::From<SpringVector2NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: SpringVector2NaturalMotionAnimation) -> Self34477     fn from(value: SpringVector2NaturalMotionAnimation) -> Self {
34478         ::std::convert::Into::<NaturalMotionAnimation>::into(&value)
34479     }
34480 }
34481 impl ::std::convert::From<&SpringVector2NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: &SpringVector2NaturalMotionAnimation) -> Self34482     fn from(value: &SpringVector2NaturalMotionAnimation) -> Self {
34483         ::windows::runtime::Interface::cast(value).unwrap()
34484     }
34485 }
34486 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>34487     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
34488         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(self))
34489     }
34490 }
34491 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for &SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>34492     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
34493         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
34494     }
34495 }
34496 impl ::std::convert::From<SpringVector2NaturalMotionAnimation> for CompositionAnimation {
from(value: SpringVector2NaturalMotionAnimation) -> Self34497     fn from(value: SpringVector2NaturalMotionAnimation) -> Self {
34498         ::std::convert::Into::<CompositionAnimation>::into(&value)
34499     }
34500 }
34501 impl ::std::convert::From<&SpringVector2NaturalMotionAnimation> for CompositionAnimation {
from(value: &SpringVector2NaturalMotionAnimation) -> Self34502     fn from(value: &SpringVector2NaturalMotionAnimation) -> Self {
34503         ::windows::runtime::Interface::cast(value).unwrap()
34504     }
34505 }
34506 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>34507     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
34508         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
34509     }
34510 }
34511 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>34512     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
34513         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
34514     }
34515 }
34516 impl ::std::convert::From<SpringVector2NaturalMotionAnimation> for CompositionObject {
from(value: SpringVector2NaturalMotionAnimation) -> Self34517     fn from(value: SpringVector2NaturalMotionAnimation) -> Self {
34518         ::std::convert::Into::<CompositionObject>::into(&value)
34519     }
34520 }
34521 impl ::std::convert::From<&SpringVector2NaturalMotionAnimation> for CompositionObject {
from(value: &SpringVector2NaturalMotionAnimation) -> Self34522     fn from(value: &SpringVector2NaturalMotionAnimation) -> Self {
34523         ::windows::runtime::Interface::cast(value).unwrap()
34524     }
34525 }
34526 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>34527     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
34528         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
34529     }
34530 }
34531 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &SpringVector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>34532     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
34533         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
34534     }
34535 }
34536 unsafe impl ::std::marker::Send for SpringVector2NaturalMotionAnimation {}
34537 unsafe impl ::std::marker::Sync for SpringVector2NaturalMotionAnimation {}
34538 #[repr(transparent)]
34539 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
34540 pub struct SpringVector3NaturalMotionAnimation(::windows::runtime::IInspectable);
34541 impl SpringVector3NaturalMotionAnimation {
DampingRatio(&self) -> ::windows::runtime::Result<f32>34542     pub fn DampingRatio(&self) -> ::windows::runtime::Result<f32> {
34543         let this = self;
34544         unsafe {
34545             let mut result__: f32 = ::std::mem::zeroed();
34546             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
34547         }
34548     }
SetDampingRatio(&self, value: f32) -> ::windows::runtime::Result<()>34549     pub fn SetDampingRatio(&self, value: f32) -> ::windows::runtime::Result<()> {
34550         let this = self;
34551         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
34552     }
34553     #[cfg(feature = "Foundation")]
Period(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>34554     pub fn Period(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
34555         let this = self;
34556         unsafe {
34557             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
34558             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
34559         }
34560     }
34561     #[cfg(feature = "Foundation")]
SetPeriod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>34562     pub fn SetPeriod<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34563         let this = self;
34564         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34565     }
34566     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>34567     pub fn Close(&self) -> ::windows::runtime::Result<()> {
34568         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
34569         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
34570     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>34571     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
34572         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34573         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
34574     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>34575     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
34576         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34577         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
34578     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34579     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34580         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34581         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34582     }
34583     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34584     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34585         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34586         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34587     }
34588     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34589     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34590         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34591         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34592     }
34593     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34594     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34595         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34596         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34597     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>34598     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
34599         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34600         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
34601     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>34602     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
34603         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34604         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
34605     }
34606     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34607     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34608         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34609         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34610     }
34611     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34612     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34613         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34614         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34615     }
34616     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>34617     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
34618         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
34619         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
34620     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>34621     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
34622         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34623         unsafe {
34624             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34625             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
34626         }
34627     }
34628     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>34629     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
34630         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34631         unsafe {
34632             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34633             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
34634         }
34635     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>34636     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
34637         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34638         unsafe {
34639             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34640             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
34641         }
34642     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>34643     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
34644         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34645         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
34646     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>34647     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
34648         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
34649         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
34650     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>34651     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
34652         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
34653         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
34654     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>34655     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
34656         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
34657         unsafe {
34658             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
34659             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
34660         }
34661     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>34662     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34663         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
34664         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34665     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>34666     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
34667         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34668         unsafe {
34669             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
34670             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
34671         }
34672     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>34673     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34674         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34675         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34676     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>34677     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
34678         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34679         unsafe {
34680             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34681             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
34682         }
34683     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>34684     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34685         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34686         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34687     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>34688     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34689         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34690         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34691     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>34692     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34693         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
34694         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34695     }
34696     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>34697     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
34698         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
34699         unsafe {
34700             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34701             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
34702         }
34703     }
34704     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>34705     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
34706         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
34707         unsafe {
34708             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34709             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
34710         }
34711     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>34712     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
34713         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34714         unsafe {
34715             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
34716             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
34717         }
34718     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>34719     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
34720         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34721         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
34722     }
34723     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>34724     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
34725         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34726         unsafe {
34727             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
34728             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
34729         }
34730     }
34731     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>34732     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34733         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34734         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34735     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>34736     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
34737         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34738         unsafe {
34739             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
34740             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
34741         }
34742     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>34743     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
34744         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
34745         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
34746     }
34747     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>34748     pub fn FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
34749         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
34750         unsafe {
34751             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34752             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>(result__)
34753         }
34754     }
34755     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()>34756     pub fn SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34757         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
34758         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34759     }
34760     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>34761     pub fn InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
34762         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
34763         unsafe {
34764             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34765             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>(result__)
34766         }
34767     }
34768     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()>34769     pub fn SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34770         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
34771         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34772     }
34773     #[cfg(feature = "Foundation_Numerics")]
InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>34774     pub fn InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
34775         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
34776         unsafe {
34777             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
34778             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
34779         }
34780     }
34781     #[cfg(feature = "Foundation_Numerics")]
SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>34782     pub fn SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
34783         let this = &::windows::runtime::Interface::cast::<IVector3NaturalMotionAnimation>(self)?;
34784         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
34785     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>34786     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
34787         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
34788         unsafe {
34789             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
34790             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
34791         }
34792     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>34793     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
34794         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
34795         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
34796     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>34797     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
34798         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
34799         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
34800     }
34801 }
34802 unsafe impl ::windows::runtime::RuntimeType for SpringVector3NaturalMotionAnimation {
34803     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpringVector3NaturalMotionAnimation;{6c8749df-d57b-4794-8e2d-cecb11e194e5})");
34804 }
34805 unsafe impl ::windows::runtime::Interface for SpringVector3NaturalMotionAnimation {
34806     type Vtable = ISpringVector3NaturalMotionAnimation_abi;
34807     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1820805599, 54651, 18324, [142, 45, 206, 203, 17, 225, 148, 229]);
34808 }
34809 impl ::windows::runtime::RuntimeName for SpringVector3NaturalMotionAnimation {
34810     const NAME: &'static str = "Windows.UI.Composition.SpringVector3NaturalMotionAnimation";
34811 }
34812 impl ::std::convert::From<SpringVector3NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: SpringVector3NaturalMotionAnimation) -> Self34813     fn from(value: SpringVector3NaturalMotionAnimation) -> Self {
34814         unsafe { ::std::mem::transmute(value) }
34815     }
34816 }
34817 impl ::std::convert::From<&SpringVector3NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &SpringVector3NaturalMotionAnimation) -> Self34818     fn from(value: &SpringVector3NaturalMotionAnimation) -> Self {
34819         ::std::convert::From::from(::std::clone::Clone::clone(value))
34820     }
34821 }
34822 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>34823     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
34824         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
34825     }
34826 }
34827 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>34828     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
34829         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
34830     }
34831 }
34832 impl ::std::convert::From<SpringVector3NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: SpringVector3NaturalMotionAnimation) -> Self34833     fn from(value: SpringVector3NaturalMotionAnimation) -> Self {
34834         value.0
34835     }
34836 }
34837 impl ::std::convert::From<&SpringVector3NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &SpringVector3NaturalMotionAnimation) -> Self34838     fn from(value: &SpringVector3NaturalMotionAnimation) -> Self {
34839         value.0.clone()
34840     }
34841 }
34842 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>34843     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
34844         ::windows::runtime::Param::Owned(self.0)
34845     }
34846 }
34847 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>34848     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
34849         ::windows::runtime::Param::Borrowed(&self.0)
34850     }
34851 }
34852 #[cfg(feature = "Foundation")]
34853 impl ::std::convert::TryFrom<SpringVector3NaturalMotionAnimation> for super::super::Foundation::IClosable {
34854     type Error = ::windows::runtime::Error;
try_from(value: SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34855     fn try_from(value: SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34856         ::std::convert::TryFrom::try_from(&value)
34857     }
34858 }
34859 #[cfg(feature = "Foundation")]
34860 impl ::std::convert::TryFrom<&SpringVector3NaturalMotionAnimation> for super::super::Foundation::IClosable {
34861     type Error = ::windows::runtime::Error;
try_from(value: &SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34862     fn try_from(value: &SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34863         ::windows::runtime::Interface::cast(value)
34864     }
34865 }
34866 #[cfg(feature = "Foundation")]
34867 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>34868     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
34869         ::windows::runtime::IntoParam::into_param(&self)
34870     }
34871 }
34872 #[cfg(feature = "Foundation")]
34873 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>34874     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
34875         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
34876     }
34877 }
34878 impl ::std::convert::TryFrom<SpringVector3NaturalMotionAnimation> for ICompositionAnimationBase {
34879     type Error = ::windows::runtime::Error;
try_from(value: SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34880     fn try_from(value: SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34881         ::std::convert::TryFrom::try_from(&value)
34882     }
34883 }
34884 impl ::std::convert::TryFrom<&SpringVector3NaturalMotionAnimation> for ICompositionAnimationBase {
34885     type Error = ::windows::runtime::Error;
try_from(value: &SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34886     fn try_from(value: &SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34887         ::windows::runtime::Interface::cast(value)
34888     }
34889 }
34890 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>34891     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
34892         ::windows::runtime::IntoParam::into_param(&self)
34893     }
34894 }
34895 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>34896     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
34897         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
34898     }
34899 }
34900 impl ::std::convert::TryFrom<SpringVector3NaturalMotionAnimation> for IAnimationObject {
34901     type Error = ::windows::runtime::Error;
try_from(value: SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34902     fn try_from(value: SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34903         ::std::convert::TryFrom::try_from(&value)
34904     }
34905 }
34906 impl ::std::convert::TryFrom<&SpringVector3NaturalMotionAnimation> for IAnimationObject {
34907     type Error = ::windows::runtime::Error;
try_from(value: &SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>34908     fn try_from(value: &SpringVector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
34909         ::windows::runtime::Interface::cast(value)
34910     }
34911 }
34912 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>34913     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
34914         ::windows::runtime::IntoParam::into_param(&self)
34915     }
34916 }
34917 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>34918     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
34919         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
34920     }
34921 }
34922 impl ::std::convert::From<SpringVector3NaturalMotionAnimation> for Vector3NaturalMotionAnimation {
from(value: SpringVector3NaturalMotionAnimation) -> Self34923     fn from(value: SpringVector3NaturalMotionAnimation) -> Self {
34924         ::std::convert::Into::<Vector3NaturalMotionAnimation>::into(&value)
34925     }
34926 }
34927 impl ::std::convert::From<&SpringVector3NaturalMotionAnimation> for Vector3NaturalMotionAnimation {
from(value: &SpringVector3NaturalMotionAnimation) -> Self34928     fn from(value: &SpringVector3NaturalMotionAnimation) -> Self {
34929         ::windows::runtime::Interface::cast(value).unwrap()
34930     }
34931 }
34932 impl<'a> ::windows::runtime::IntoParam<'a, Vector3NaturalMotionAnimation> for SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, Vector3NaturalMotionAnimation>34933     fn into_param(self) -> ::windows::runtime::Param<'a, Vector3NaturalMotionAnimation> {
34934         ::windows::runtime::Param::Owned(::std::convert::Into::<Vector3NaturalMotionAnimation>::into(self))
34935     }
34936 }
34937 impl<'a> ::windows::runtime::IntoParam<'a, Vector3NaturalMotionAnimation> for &SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, Vector3NaturalMotionAnimation>34938     fn into_param(self) -> ::windows::runtime::Param<'a, Vector3NaturalMotionAnimation> {
34939         ::windows::runtime::Param::Owned(::std::convert::Into::<Vector3NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
34940     }
34941 }
34942 impl ::std::convert::From<SpringVector3NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: SpringVector3NaturalMotionAnimation) -> Self34943     fn from(value: SpringVector3NaturalMotionAnimation) -> Self {
34944         ::std::convert::Into::<NaturalMotionAnimation>::into(&value)
34945     }
34946 }
34947 impl ::std::convert::From<&SpringVector3NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: &SpringVector3NaturalMotionAnimation) -> Self34948     fn from(value: &SpringVector3NaturalMotionAnimation) -> Self {
34949         ::windows::runtime::Interface::cast(value).unwrap()
34950     }
34951 }
34952 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>34953     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
34954         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(self))
34955     }
34956 }
34957 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for &SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>34958     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
34959         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
34960     }
34961 }
34962 impl ::std::convert::From<SpringVector3NaturalMotionAnimation> for CompositionAnimation {
from(value: SpringVector3NaturalMotionAnimation) -> Self34963     fn from(value: SpringVector3NaturalMotionAnimation) -> Self {
34964         ::std::convert::Into::<CompositionAnimation>::into(&value)
34965     }
34966 }
34967 impl ::std::convert::From<&SpringVector3NaturalMotionAnimation> for CompositionAnimation {
from(value: &SpringVector3NaturalMotionAnimation) -> Self34968     fn from(value: &SpringVector3NaturalMotionAnimation) -> Self {
34969         ::windows::runtime::Interface::cast(value).unwrap()
34970     }
34971 }
34972 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>34973     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
34974         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
34975     }
34976 }
34977 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>34978     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
34979         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
34980     }
34981 }
34982 impl ::std::convert::From<SpringVector3NaturalMotionAnimation> for CompositionObject {
from(value: SpringVector3NaturalMotionAnimation) -> Self34983     fn from(value: SpringVector3NaturalMotionAnimation) -> Self {
34984         ::std::convert::Into::<CompositionObject>::into(&value)
34985     }
34986 }
34987 impl ::std::convert::From<&SpringVector3NaturalMotionAnimation> for CompositionObject {
from(value: &SpringVector3NaturalMotionAnimation) -> Self34988     fn from(value: &SpringVector3NaturalMotionAnimation) -> Self {
34989         ::windows::runtime::Interface::cast(value).unwrap()
34990     }
34991 }
34992 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>34993     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
34994         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
34995     }
34996 }
34997 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &SpringVector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>34998     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
34999         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
35000     }
35001 }
35002 unsafe impl ::std::marker::Send for SpringVector3NaturalMotionAnimation {}
35003 unsafe impl ::std::marker::Sync for SpringVector3NaturalMotionAnimation {}
35004 #[repr(transparent)]
35005 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
35006 pub struct SpriteVisual(::windows::runtime::IInspectable);
35007 impl SpriteVisual {
Brush(&self) -> ::windows::runtime::Result<CompositionBrush>35008     pub fn Brush(&self) -> ::windows::runtime::Result<CompositionBrush> {
35009         let this = self;
35010         unsafe {
35011             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35012             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBrush>(result__)
35013         }
35014     }
SetBrush<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()>35015     pub fn SetBrush<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionBrush>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35016         let this = self;
35017         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35018     }
Shadow(&self) -> ::windows::runtime::Result<CompositionShadow>35019     pub fn Shadow(&self) -> ::windows::runtime::Result<CompositionShadow> {
35020         let this = &::windows::runtime::Interface::cast::<ISpriteVisual2>(self)?;
35021         unsafe {
35022             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35023             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionShadow>(result__)
35024         }
35025     }
SetShadow<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionShadow>>(&self, value: Param0) -> ::windows::runtime::Result<()>35026     pub fn SetShadow<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionShadow>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35027         let this = &::windows::runtime::Interface::cast::<ISpriteVisual2>(self)?;
35028         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35029     }
35030     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>35031     pub fn Close(&self) -> ::windows::runtime::Result<()> {
35032         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
35033         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
35034     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>35035     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
35036         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35037         unsafe {
35038             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35039             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
35040         }
35041     }
35042     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>35043     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
35044         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35045         unsafe {
35046             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35047             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
35048         }
35049     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>35050     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
35051         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35052         unsafe {
35053             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35054             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
35055         }
35056     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>35057     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
35058         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35059         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
35060     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>35061     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
35062         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35063         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
35064     }
Children(&self) -> ::windows::runtime::Result<VisualCollection>35065     pub fn Children(&self) -> ::windows::runtime::Result<VisualCollection> {
35066         let this = &::windows::runtime::Interface::cast::<IContainerVisual>(self)?;
35067         unsafe {
35068             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35069             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VisualCollection>(result__)
35070         }
35071     }
35072     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>35073     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
35074         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35075         unsafe {
35076             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
35077             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
35078         }
35079     }
35080     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>35081     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35082         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35083         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35084     }
BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility>35085     pub fn BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility> {
35086         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35087         unsafe {
35088             let mut result__: CompositionBackfaceVisibility = ::std::mem::zeroed();
35089             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackfaceVisibility>(result__)
35090         }
35091     }
SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()>35092     pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()> {
35093         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35094         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
35095     }
BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode>35096     pub fn BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode> {
35097         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35098         unsafe {
35099             let mut result__: CompositionBorderMode = ::std::mem::zeroed();
35100             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBorderMode>(result__)
35101         }
35102     }
SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()>35103     pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()> {
35104         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35105         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
35106     }
35107     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>35108     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
35109         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35110         unsafe {
35111             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
35112             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
35113         }
35114     }
35115     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>35116     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35117         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35118         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35119     }
Clip(&self) -> ::windows::runtime::Result<CompositionClip>35120     pub fn Clip(&self) -> ::windows::runtime::Result<CompositionClip> {
35121         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35122         unsafe {
35123             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35124             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionClip>(result__)
35125         }
35126     }
SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()>35127     pub fn SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35128         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35129         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35130     }
CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode>35131     pub fn CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode> {
35132         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35133         unsafe {
35134             let mut result__: CompositionCompositeMode = ::std::mem::zeroed();
35135             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionCompositeMode>(result__)
35136         }
35137     }
SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()>35138     pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()> {
35139         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35140         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
35141     }
IsVisible(&self) -> ::windows::runtime::Result<bool>35142     pub fn IsVisible(&self) -> ::windows::runtime::Result<bool> {
35143         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35144         unsafe {
35145             let mut result__: bool = ::std::mem::zeroed();
35146             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
35147         }
35148     }
SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()>35149     pub fn SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
35150         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35151         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
35152     }
35153     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>35154     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
35155         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35156         unsafe {
35157             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
35158             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
35159         }
35160     }
35161     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>35162     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35163         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35164         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35165     }
Opacity(&self) -> ::windows::runtime::Result<f32>35166     pub fn Opacity(&self) -> ::windows::runtime::Result<f32> {
35167         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35168         unsafe {
35169             let mut result__: f32 = ::std::mem::zeroed();
35170             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
35171         }
35172     }
SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()>35173     pub fn SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()> {
35174         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35175         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
35176     }
35177     #[cfg(feature = "Foundation_Numerics")]
Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion>35178     pub fn Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion> {
35179         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35180         unsafe {
35181             let mut result__: super::super::Foundation::Numerics::Quaternion = ::std::mem::zeroed();
35182             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Quaternion>(result__)
35183         }
35184     }
35185     #[cfg(feature = "Foundation_Numerics")]
SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()>35186     pub fn SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35187         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35188         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35189     }
Parent(&self) -> ::windows::runtime::Result<ContainerVisual>35190     pub fn Parent(&self) -> ::windows::runtime::Result<ContainerVisual> {
35191         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35192         unsafe {
35193             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35194             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContainerVisual>(result__)
35195         }
35196     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>35197     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
35198         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35199         unsafe {
35200             let mut result__: f32 = ::std::mem::zeroed();
35201             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
35202         }
35203     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>35204     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
35205         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35206         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
35207     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>35208     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
35209         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35210         unsafe {
35211             let mut result__: f32 = ::std::mem::zeroed();
35212             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
35213         }
35214     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>35215     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
35216         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35217         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value).ok() }
35218     }
35219     #[cfg(feature = "Foundation_Numerics")]
RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>35220     pub fn RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
35221         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35222         unsafe {
35223             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
35224             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
35225         }
35226     }
35227     #[cfg(feature = "Foundation_Numerics")]
SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>35228     pub fn SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35229         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35230         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35231     }
35232     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>35233     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
35234         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35235         unsafe {
35236             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
35237             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
35238         }
35239     }
35240     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>35241     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35242         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35243         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35244     }
35245     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>35246     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
35247         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35248         unsafe {
35249             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
35250             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
35251         }
35252     }
35253     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>35254     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35255         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35256         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35257     }
35258     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4>35259     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4> {
35260         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35261         unsafe {
35262             let mut result__: super::super::Foundation::Numerics::Matrix4x4 = ::std::mem::zeroed();
35263             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix4x4>(result__)
35264         }
35265     }
35266     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()>35267     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35268         let this = &::windows::runtime::Interface::cast::<IVisual>(self)?;
35269         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35270     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>35271     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
35272         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35273         unsafe {
35274             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
35275             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
35276         }
35277     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>35278     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35279         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35280         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35281     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>35282     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
35283         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35284         unsafe {
35285             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35286             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
35287         }
35288     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>35289     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35290         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35291         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35292     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>35293     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35294         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35295         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35296     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>35297     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35298         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35299         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35300     }
ParentForTransform(&self) -> ::windows::runtime::Result<Visual>35301     pub fn ParentForTransform(&self) -> ::windows::runtime::Result<Visual> {
35302         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
35303         unsafe {
35304             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35305             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
35306         }
35307     }
SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>35308     pub fn SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35309         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
35310         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35311     }
35312     #[cfg(feature = "Foundation_Numerics")]
RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>35313     pub fn RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
35314         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
35315         unsafe {
35316             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
35317             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
35318         }
35319     }
35320     #[cfg(feature = "Foundation_Numerics")]
SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>35321     pub fn SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35322         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
35323         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35324     }
35325     #[cfg(feature = "Foundation_Numerics")]
RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>35326     pub fn RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
35327         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
35328         unsafe {
35329             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
35330             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
35331         }
35332     }
35333     #[cfg(feature = "Foundation_Numerics")]
SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>35334     pub fn SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35335         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
35336         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35337     }
35338     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>35339     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
35340         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
35341         unsafe {
35342             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35343             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
35344         }
35345     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>35346     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
35347         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
35348         unsafe {
35349             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35350             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
35351         }
35352     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>35353     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
35354         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
35355         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
35356     }
IsHitTestVisible(&self) -> ::windows::runtime::Result<bool>35357     pub fn IsHitTestVisible(&self) -> ::windows::runtime::Result<bool> {
35358         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
35359         unsafe {
35360             let mut result__: bool = ::std::mem::zeroed();
35361             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
35362         }
35363     }
SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()>35364     pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
35365         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
35366         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
35367     }
IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool>35368     pub fn IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool> {
35369         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
35370         unsafe {
35371             let mut result__: bool = ::std::mem::zeroed();
35372             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
35373         }
35374     }
SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()>35375     pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
35376         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
35377         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
35378     }
35379 }
35380 unsafe impl ::windows::runtime::RuntimeType for SpriteVisual {
35381     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.SpriteVisual;{08e05581-1ad1-4f97-9757-402d76e4233b})");
35382 }
35383 unsafe impl ::windows::runtime::Interface for SpriteVisual {
35384     type Vtable = ISpriteVisual_abi;
35385     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(148919681, 6865, 20375, [151, 87, 64, 45, 118, 228, 35, 59]);
35386 }
35387 impl ::windows::runtime::RuntimeName for SpriteVisual {
35388     const NAME: &'static str = "Windows.UI.Composition.SpriteVisual";
35389 }
35390 impl ::std::convert::From<SpriteVisual> for ::windows::runtime::IUnknown {
from(value: SpriteVisual) -> Self35391     fn from(value: SpriteVisual) -> Self {
35392         unsafe { ::std::mem::transmute(value) }
35393     }
35394 }
35395 impl ::std::convert::From<&SpriteVisual> for ::windows::runtime::IUnknown {
from(value: &SpriteVisual) -> Self35396     fn from(value: &SpriteVisual) -> Self {
35397         ::std::convert::From::from(::std::clone::Clone::clone(value))
35398     }
35399 }
35400 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>35401     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
35402         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
35403     }
35404 }
35405 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>35406     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
35407         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
35408     }
35409 }
35410 impl ::std::convert::From<SpriteVisual> for ::windows::runtime::IInspectable {
from(value: SpriteVisual) -> Self35411     fn from(value: SpriteVisual) -> Self {
35412         value.0
35413     }
35414 }
35415 impl ::std::convert::From<&SpriteVisual> for ::windows::runtime::IInspectable {
from(value: &SpriteVisual) -> Self35416     fn from(value: &SpriteVisual) -> Self {
35417         value.0.clone()
35418     }
35419 }
35420 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>35421     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
35422         ::windows::runtime::Param::Owned(self.0)
35423     }
35424 }
35425 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>35426     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
35427         ::windows::runtime::Param::Borrowed(&self.0)
35428     }
35429 }
35430 #[cfg(feature = "Foundation")]
35431 impl ::std::convert::TryFrom<SpriteVisual> for super::super::Foundation::IClosable {
35432     type Error = ::windows::runtime::Error;
try_from(value: SpriteVisual) -> ::windows::runtime::Result<Self>35433     fn try_from(value: SpriteVisual) -> ::windows::runtime::Result<Self> {
35434         ::std::convert::TryFrom::try_from(&value)
35435     }
35436 }
35437 #[cfg(feature = "Foundation")]
35438 impl ::std::convert::TryFrom<&SpriteVisual> for super::super::Foundation::IClosable {
35439     type Error = ::windows::runtime::Error;
try_from(value: &SpriteVisual) -> ::windows::runtime::Result<Self>35440     fn try_from(value: &SpriteVisual) -> ::windows::runtime::Result<Self> {
35441         ::windows::runtime::Interface::cast(value)
35442     }
35443 }
35444 #[cfg(feature = "Foundation")]
35445 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>35446     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
35447         ::windows::runtime::IntoParam::into_param(&self)
35448     }
35449 }
35450 #[cfg(feature = "Foundation")]
35451 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>35452     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
35453         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
35454     }
35455 }
35456 impl ::std::convert::TryFrom<SpriteVisual> for IAnimationObject {
35457     type Error = ::windows::runtime::Error;
try_from(value: SpriteVisual) -> ::windows::runtime::Result<Self>35458     fn try_from(value: SpriteVisual) -> ::windows::runtime::Result<Self> {
35459         ::std::convert::TryFrom::try_from(&value)
35460     }
35461 }
35462 impl ::std::convert::TryFrom<&SpriteVisual> for IAnimationObject {
35463     type Error = ::windows::runtime::Error;
try_from(value: &SpriteVisual) -> ::windows::runtime::Result<Self>35464     fn try_from(value: &SpriteVisual) -> ::windows::runtime::Result<Self> {
35465         ::windows::runtime::Interface::cast(value)
35466     }
35467 }
35468 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>35469     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
35470         ::windows::runtime::IntoParam::into_param(&self)
35471     }
35472 }
35473 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>35474     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
35475         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
35476     }
35477 }
35478 impl ::std::convert::From<SpriteVisual> for ContainerVisual {
from(value: SpriteVisual) -> Self35479     fn from(value: SpriteVisual) -> Self {
35480         ::std::convert::Into::<ContainerVisual>::into(&value)
35481     }
35482 }
35483 impl ::std::convert::From<&SpriteVisual> for ContainerVisual {
from(value: &SpriteVisual) -> Self35484     fn from(value: &SpriteVisual) -> Self {
35485         ::windows::runtime::Interface::cast(value).unwrap()
35486     }
35487 }
35488 impl<'a> ::windows::runtime::IntoParam<'a, ContainerVisual> for SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual>35489     fn into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual> {
35490         ::windows::runtime::Param::Owned(::std::convert::Into::<ContainerVisual>::into(self))
35491     }
35492 }
35493 impl<'a> ::windows::runtime::IntoParam<'a, ContainerVisual> for &SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual>35494     fn into_param(self) -> ::windows::runtime::Param<'a, ContainerVisual> {
35495         ::windows::runtime::Param::Owned(::std::convert::Into::<ContainerVisual>::into(::std::clone::Clone::clone(self)))
35496     }
35497 }
35498 impl ::std::convert::From<SpriteVisual> for Visual {
from(value: SpriteVisual) -> Self35499     fn from(value: SpriteVisual) -> Self {
35500         ::std::convert::Into::<Visual>::into(&value)
35501     }
35502 }
35503 impl ::std::convert::From<&SpriteVisual> for Visual {
from(value: &SpriteVisual) -> Self35504     fn from(value: &SpriteVisual) -> Self {
35505         ::windows::runtime::Interface::cast(value).unwrap()
35506     }
35507 }
35508 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>35509     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
35510         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(self))
35511     }
35512 }
35513 impl<'a> ::windows::runtime::IntoParam<'a, Visual> for &SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, Visual>35514     fn into_param(self) -> ::windows::runtime::Param<'a, Visual> {
35515         ::windows::runtime::Param::Owned(::std::convert::Into::<Visual>::into(::std::clone::Clone::clone(self)))
35516     }
35517 }
35518 impl ::std::convert::From<SpriteVisual> for CompositionObject {
from(value: SpriteVisual) -> Self35519     fn from(value: SpriteVisual) -> Self {
35520         ::std::convert::Into::<CompositionObject>::into(&value)
35521     }
35522 }
35523 impl ::std::convert::From<&SpriteVisual> for CompositionObject {
from(value: &SpriteVisual) -> Self35524     fn from(value: &SpriteVisual) -> Self {
35525         ::windows::runtime::Interface::cast(value).unwrap()
35526     }
35527 }
35528 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>35529     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
35530         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
35531     }
35532 }
35533 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &SpriteVisual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>35534     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
35535         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
35536     }
35537 }
35538 unsafe impl ::std::marker::Send for SpriteVisual {}
35539 unsafe impl ::std::marker::Sync for SpriteVisual {}
35540 #[repr(transparent)]
35541 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
35542 pub struct StepEasingFunction(::windows::runtime::IInspectable);
35543 impl StepEasingFunction {
FinalStep(&self) -> ::windows::runtime::Result<i32>35544     pub fn FinalStep(&self) -> ::windows::runtime::Result<i32> {
35545         let this = self;
35546         unsafe {
35547             let mut result__: i32 = ::std::mem::zeroed();
35548             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
35549         }
35550     }
SetFinalStep(&self, value: i32) -> ::windows::runtime::Result<()>35551     pub fn SetFinalStep(&self, value: i32) -> ::windows::runtime::Result<()> {
35552         let this = self;
35553         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
35554     }
InitialStep(&self) -> ::windows::runtime::Result<i32>35555     pub fn InitialStep(&self) -> ::windows::runtime::Result<i32> {
35556         let this = self;
35557         unsafe {
35558             let mut result__: i32 = ::std::mem::zeroed();
35559             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
35560         }
35561     }
SetInitialStep(&self, value: i32) -> ::windows::runtime::Result<()>35562     pub fn SetInitialStep(&self, value: i32) -> ::windows::runtime::Result<()> {
35563         let this = self;
35564         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
35565     }
IsFinalStepSingleFrame(&self) -> ::windows::runtime::Result<bool>35566     pub fn IsFinalStepSingleFrame(&self) -> ::windows::runtime::Result<bool> {
35567         let this = self;
35568         unsafe {
35569             let mut result__: bool = ::std::mem::zeroed();
35570             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
35571         }
35572     }
SetIsFinalStepSingleFrame(&self, value: bool) -> ::windows::runtime::Result<()>35573     pub fn SetIsFinalStepSingleFrame(&self, value: bool) -> ::windows::runtime::Result<()> {
35574         let this = self;
35575         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
35576     }
IsInitialStepSingleFrame(&self) -> ::windows::runtime::Result<bool>35577     pub fn IsInitialStepSingleFrame(&self) -> ::windows::runtime::Result<bool> {
35578         let this = self;
35579         unsafe {
35580             let mut result__: bool = ::std::mem::zeroed();
35581             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
35582         }
35583     }
SetIsInitialStepSingleFrame(&self, value: bool) -> ::windows::runtime::Result<()>35584     pub fn SetIsInitialStepSingleFrame(&self, value: bool) -> ::windows::runtime::Result<()> {
35585         let this = self;
35586         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
35587     }
StepCount(&self) -> ::windows::runtime::Result<i32>35588     pub fn StepCount(&self) -> ::windows::runtime::Result<i32> {
35589         let this = self;
35590         unsafe {
35591             let mut result__: i32 = ::std::mem::zeroed();
35592             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
35593         }
35594     }
SetStepCount(&self, value: i32) -> ::windows::runtime::Result<()>35595     pub fn SetStepCount(&self, value: i32) -> ::windows::runtime::Result<()> {
35596         let this = self;
35597         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
35598     }
35599     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>35600     pub fn Close(&self) -> ::windows::runtime::Result<()> {
35601         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
35602         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
35603     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>35604     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
35605         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35606         unsafe {
35607             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35608             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
35609         }
35610     }
35611     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>35612     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
35613         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35614         unsafe {
35615             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35616             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
35617         }
35618     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>35619     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
35620         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35621         unsafe {
35622             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35623             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
35624         }
35625     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>35626     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
35627         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35628         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
35629     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>35630     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
35631         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35632         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
35633     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>35634     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
35635         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35636         unsafe {
35637             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
35638             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
35639         }
35640     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>35641     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35642         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35643         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35644     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>35645     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
35646         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35647         unsafe {
35648             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35649             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
35650         }
35651     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>35652     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35653         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35654         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35655     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>35656     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35657         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35658         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35659     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>35660     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35661         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
35662         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35663     }
35664     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>35665     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
35666         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
35667         unsafe {
35668             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35669             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
35670         }
35671     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>35672     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
35673         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
35674         unsafe {
35675             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35676             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
35677         }
35678     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>35679     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
35680         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
35681         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
35682     }
35683 }
35684 unsafe impl ::windows::runtime::RuntimeType for StepEasingFunction {
35685     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.StepEasingFunction;{d0caa74b-560c-4a0b-a5f6-206ca8c3ecd6})");
35686 }
35687 unsafe impl ::windows::runtime::Interface for StepEasingFunction {
35688     type Vtable = IStepEasingFunction_abi;
35689     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3502942027, 22028, 18955, [165, 246, 32, 108, 168, 195, 236, 214]);
35690 }
35691 impl ::windows::runtime::RuntimeName for StepEasingFunction {
35692     const NAME: &'static str = "Windows.UI.Composition.StepEasingFunction";
35693 }
35694 impl ::std::convert::From<StepEasingFunction> for ::windows::runtime::IUnknown {
from(value: StepEasingFunction) -> Self35695     fn from(value: StepEasingFunction) -> Self {
35696         unsafe { ::std::mem::transmute(value) }
35697     }
35698 }
35699 impl ::std::convert::From<&StepEasingFunction> for ::windows::runtime::IUnknown {
from(value: &StepEasingFunction) -> Self35700     fn from(value: &StepEasingFunction) -> Self {
35701         ::std::convert::From::from(::std::clone::Clone::clone(value))
35702     }
35703 }
35704 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>35705     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
35706         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
35707     }
35708 }
35709 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>35710     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
35711         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
35712     }
35713 }
35714 impl ::std::convert::From<StepEasingFunction> for ::windows::runtime::IInspectable {
from(value: StepEasingFunction) -> Self35715     fn from(value: StepEasingFunction) -> Self {
35716         value.0
35717     }
35718 }
35719 impl ::std::convert::From<&StepEasingFunction> for ::windows::runtime::IInspectable {
from(value: &StepEasingFunction) -> Self35720     fn from(value: &StepEasingFunction) -> Self {
35721         value.0.clone()
35722     }
35723 }
35724 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>35725     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
35726         ::windows::runtime::Param::Owned(self.0)
35727     }
35728 }
35729 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>35730     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
35731         ::windows::runtime::Param::Borrowed(&self.0)
35732     }
35733 }
35734 #[cfg(feature = "Foundation")]
35735 impl ::std::convert::TryFrom<StepEasingFunction> for super::super::Foundation::IClosable {
35736     type Error = ::windows::runtime::Error;
try_from(value: StepEasingFunction) -> ::windows::runtime::Result<Self>35737     fn try_from(value: StepEasingFunction) -> ::windows::runtime::Result<Self> {
35738         ::std::convert::TryFrom::try_from(&value)
35739     }
35740 }
35741 #[cfg(feature = "Foundation")]
35742 impl ::std::convert::TryFrom<&StepEasingFunction> for super::super::Foundation::IClosable {
35743     type Error = ::windows::runtime::Error;
try_from(value: &StepEasingFunction) -> ::windows::runtime::Result<Self>35744     fn try_from(value: &StepEasingFunction) -> ::windows::runtime::Result<Self> {
35745         ::windows::runtime::Interface::cast(value)
35746     }
35747 }
35748 #[cfg(feature = "Foundation")]
35749 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>35750     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
35751         ::windows::runtime::IntoParam::into_param(&self)
35752     }
35753 }
35754 #[cfg(feature = "Foundation")]
35755 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>35756     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
35757         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
35758     }
35759 }
35760 impl ::std::convert::TryFrom<StepEasingFunction> for IAnimationObject {
35761     type Error = ::windows::runtime::Error;
try_from(value: StepEasingFunction) -> ::windows::runtime::Result<Self>35762     fn try_from(value: StepEasingFunction) -> ::windows::runtime::Result<Self> {
35763         ::std::convert::TryFrom::try_from(&value)
35764     }
35765 }
35766 impl ::std::convert::TryFrom<&StepEasingFunction> for IAnimationObject {
35767     type Error = ::windows::runtime::Error;
try_from(value: &StepEasingFunction) -> ::windows::runtime::Result<Self>35768     fn try_from(value: &StepEasingFunction) -> ::windows::runtime::Result<Self> {
35769         ::windows::runtime::Interface::cast(value)
35770     }
35771 }
35772 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>35773     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
35774         ::windows::runtime::IntoParam::into_param(&self)
35775     }
35776 }
35777 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>35778     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
35779         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
35780     }
35781 }
35782 impl ::std::convert::From<StepEasingFunction> for CompositionEasingFunction {
from(value: StepEasingFunction) -> Self35783     fn from(value: StepEasingFunction) -> Self {
35784         ::std::convert::Into::<CompositionEasingFunction>::into(&value)
35785     }
35786 }
35787 impl ::std::convert::From<&StepEasingFunction> for CompositionEasingFunction {
from(value: &StepEasingFunction) -> Self35788     fn from(value: &StepEasingFunction) -> Self {
35789         ::windows::runtime::Interface::cast(value).unwrap()
35790     }
35791 }
35792 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>35793     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
35794         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(self))
35795     }
35796 }
35797 impl<'a> ::windows::runtime::IntoParam<'a, CompositionEasingFunction> for &StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction>35798     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionEasingFunction> {
35799         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionEasingFunction>::into(::std::clone::Clone::clone(self)))
35800     }
35801 }
35802 impl ::std::convert::From<StepEasingFunction> for CompositionObject {
from(value: StepEasingFunction) -> Self35803     fn from(value: StepEasingFunction) -> Self {
35804         ::std::convert::Into::<CompositionObject>::into(&value)
35805     }
35806 }
35807 impl ::std::convert::From<&StepEasingFunction> for CompositionObject {
from(value: &StepEasingFunction) -> Self35808     fn from(value: &StepEasingFunction) -> Self {
35809         ::windows::runtime::Interface::cast(value).unwrap()
35810     }
35811 }
35812 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>35813     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
35814         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
35815     }
35816 }
35817 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &StepEasingFunction {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>35818     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
35819         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
35820     }
35821 }
35822 unsafe impl ::std::marker::Send for StepEasingFunction {}
35823 unsafe impl ::std::marker::Sync for StepEasingFunction {}
35824 #[repr(transparent)]
35825 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
35826 pub struct Vector2KeyFrameAnimation(::windows::runtime::IInspectable);
35827 impl Vector2KeyFrameAnimation {
35828     #[cfg(feature = "Foundation_Numerics")]
InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>35829     pub fn InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
35830         let this = self;
35831         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
35832     }
35833     #[cfg(feature = "Foundation_Numerics")]
InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>35834     pub fn InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
35835         let this = self;
35836         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
35837     }
35838     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>35839     pub fn Close(&self) -> ::windows::runtime::Result<()> {
35840         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
35841         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
35842     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>35843     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
35844         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35845         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
35846     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>35847     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
35848         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35849         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
35850     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>35851     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
35852         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35853         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
35854     }
35855     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>35856     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
35857         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35858         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
35859     }
35860     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>35861     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
35862         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35863         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
35864     }
35865     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>35866     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
35867         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35868         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
35869     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>35870     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
35871         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35872         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
35873     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>35874     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
35875         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35876         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
35877     }
35878     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>35879     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
35880         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35881         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
35882     }
35883     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>35884     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
35885         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35886         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
35887     }
35888     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>35889     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
35890         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
35891         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
35892     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>35893     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
35894         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35895         unsafe {
35896             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35897             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
35898         }
35899     }
35900     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>35901     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
35902         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35903         unsafe {
35904             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35905             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
35906         }
35907     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>35908     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
35909         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35910         unsafe {
35911             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
35912             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
35913         }
35914     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>35915     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
35916         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35917         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
35918     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>35919     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
35920         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
35921         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
35922     }
35923     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>35924     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
35925         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35926         unsafe {
35927             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
35928             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
35929         }
35930     }
35931     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>35932     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35933         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35934         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35935     }
35936     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>35937     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
35938         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35939         unsafe {
35940             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
35941             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
35942         }
35943     }
35944     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>35945     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
35946         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35947         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
35948     }
IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior>35949     pub fn IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior> {
35950         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35951         unsafe {
35952             let mut result__: AnimationIterationBehavior = ::std::mem::zeroed();
35953             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationIterationBehavior>(result__)
35954         }
35955     }
SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()>35956     pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()> {
35957         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35958         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
35959     }
IterationCount(&self) -> ::windows::runtime::Result<i32>35960     pub fn IterationCount(&self) -> ::windows::runtime::Result<i32> {
35961         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35962         unsafe {
35963             let mut result__: i32 = ::std::mem::zeroed();
35964             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
35965         }
35966     }
SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()>35967     pub fn SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()> {
35968         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35969         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
35970     }
KeyFrameCount(&self) -> ::windows::runtime::Result<i32>35971     pub fn KeyFrameCount(&self) -> ::windows::runtime::Result<i32> {
35972         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35973         unsafe {
35974             let mut result__: i32 = ::std::mem::zeroed();
35975             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
35976         }
35977     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>35978     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
35979         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35980         unsafe {
35981             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
35982             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
35983         }
35984     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>35985     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
35986         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35987         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
35988     }
InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>35989     pub fn InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
35990         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35991         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
35992     }
InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>35993     pub fn InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
35994         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
35995         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
35996     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>35997     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
35998         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
35999         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
36000     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>36001     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
36002         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
36003         unsafe {
36004             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
36005             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
36006         }
36007     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>36008     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36009         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
36010         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36011     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>36012     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
36013         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36014         unsafe {
36015             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
36016             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
36017         }
36018     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>36019     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36020         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36021         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36022     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>36023     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
36024         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36025         unsafe {
36026             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36027             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
36028         }
36029     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>36030     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36031         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36032         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36033     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>36034     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36035         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36036         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36037     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>36038     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36039         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36040         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36041     }
Direction(&self) -> ::windows::runtime::Result<AnimationDirection>36042     pub fn Direction(&self) -> ::windows::runtime::Result<AnimationDirection> {
36043         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
36044         unsafe {
36045             let mut result__: AnimationDirection = ::std::mem::zeroed();
36046             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDirection>(result__)
36047         }
36048     }
SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()>36049     pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()> {
36050         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
36051         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
36052     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>36053     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
36054         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
36055         unsafe {
36056             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
36057             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
36058         }
36059     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>36060     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
36061         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
36062         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
36063     }
36064     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>36065     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
36066         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
36067         unsafe {
36068             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36069             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
36070         }
36071     }
36072     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>36073     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
36074         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
36075         unsafe {
36076             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36077             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
36078         }
36079     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>36080     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
36081         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
36082         unsafe {
36083             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36084             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
36085         }
36086     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>36087     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
36088         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
36089         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
36090     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>36091     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
36092         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
36093         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
36094     }
36095 }
36096 unsafe impl ::windows::runtime::RuntimeType for Vector2KeyFrameAnimation {
36097     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector2KeyFrameAnimation;{df414515-4e29-4f11-b55e-bf2a6eb36294})");
36098 }
36099 unsafe impl ::windows::runtime::Interface for Vector2KeyFrameAnimation {
36100     type Vtable = IVector2KeyFrameAnimation_abi;
36101     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3745596693, 20009, 20241, [181, 94, 191, 42, 110, 179, 98, 148]);
36102 }
36103 impl ::windows::runtime::RuntimeName for Vector2KeyFrameAnimation {
36104     const NAME: &'static str = "Windows.UI.Composition.Vector2KeyFrameAnimation";
36105 }
36106 impl ::std::convert::From<Vector2KeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: Vector2KeyFrameAnimation) -> Self36107     fn from(value: Vector2KeyFrameAnimation) -> Self {
36108         unsafe { ::std::mem::transmute(value) }
36109     }
36110 }
36111 impl ::std::convert::From<&Vector2KeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: &Vector2KeyFrameAnimation) -> Self36112     fn from(value: &Vector2KeyFrameAnimation) -> Self {
36113         ::std::convert::From::from(::std::clone::Clone::clone(value))
36114     }
36115 }
36116 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>36117     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
36118         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
36119     }
36120 }
36121 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>36122     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
36123         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
36124     }
36125 }
36126 impl ::std::convert::From<Vector2KeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: Vector2KeyFrameAnimation) -> Self36127     fn from(value: Vector2KeyFrameAnimation) -> Self {
36128         value.0
36129     }
36130 }
36131 impl ::std::convert::From<&Vector2KeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: &Vector2KeyFrameAnimation) -> Self36132     fn from(value: &Vector2KeyFrameAnimation) -> Self {
36133         value.0.clone()
36134     }
36135 }
36136 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>36137     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
36138         ::windows::runtime::Param::Owned(self.0)
36139     }
36140 }
36141 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>36142     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
36143         ::windows::runtime::Param::Borrowed(&self.0)
36144     }
36145 }
36146 #[cfg(feature = "Foundation")]
36147 impl ::std::convert::TryFrom<Vector2KeyFrameAnimation> for super::super::Foundation::IClosable {
36148     type Error = ::windows::runtime::Error;
try_from(value: Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self>36149     fn try_from(value: Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
36150         ::std::convert::TryFrom::try_from(&value)
36151     }
36152 }
36153 #[cfg(feature = "Foundation")]
36154 impl ::std::convert::TryFrom<&Vector2KeyFrameAnimation> for super::super::Foundation::IClosable {
36155     type Error = ::windows::runtime::Error;
try_from(value: &Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self>36156     fn try_from(value: &Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
36157         ::windows::runtime::Interface::cast(value)
36158     }
36159 }
36160 #[cfg(feature = "Foundation")]
36161 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>36162     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
36163         ::windows::runtime::IntoParam::into_param(&self)
36164     }
36165 }
36166 #[cfg(feature = "Foundation")]
36167 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>36168     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
36169         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
36170     }
36171 }
36172 impl ::std::convert::TryFrom<Vector2KeyFrameAnimation> for ICompositionAnimationBase {
36173     type Error = ::windows::runtime::Error;
try_from(value: Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self>36174     fn try_from(value: Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
36175         ::std::convert::TryFrom::try_from(&value)
36176     }
36177 }
36178 impl ::std::convert::TryFrom<&Vector2KeyFrameAnimation> for ICompositionAnimationBase {
36179     type Error = ::windows::runtime::Error;
try_from(value: &Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self>36180     fn try_from(value: &Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
36181         ::windows::runtime::Interface::cast(value)
36182     }
36183 }
36184 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>36185     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
36186         ::windows::runtime::IntoParam::into_param(&self)
36187     }
36188 }
36189 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>36190     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
36191         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
36192     }
36193 }
36194 impl ::std::convert::TryFrom<Vector2KeyFrameAnimation> for IAnimationObject {
36195     type Error = ::windows::runtime::Error;
try_from(value: Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self>36196     fn try_from(value: Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
36197         ::std::convert::TryFrom::try_from(&value)
36198     }
36199 }
36200 impl ::std::convert::TryFrom<&Vector2KeyFrameAnimation> for IAnimationObject {
36201     type Error = ::windows::runtime::Error;
try_from(value: &Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self>36202     fn try_from(value: &Vector2KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
36203         ::windows::runtime::Interface::cast(value)
36204     }
36205 }
36206 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>36207     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
36208         ::windows::runtime::IntoParam::into_param(&self)
36209     }
36210 }
36211 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>36212     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
36213         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
36214     }
36215 }
36216 impl ::std::convert::From<Vector2KeyFrameAnimation> for KeyFrameAnimation {
from(value: Vector2KeyFrameAnimation) -> Self36217     fn from(value: Vector2KeyFrameAnimation) -> Self {
36218         ::std::convert::Into::<KeyFrameAnimation>::into(&value)
36219     }
36220 }
36221 impl ::std::convert::From<&Vector2KeyFrameAnimation> for KeyFrameAnimation {
from(value: &Vector2KeyFrameAnimation) -> Self36222     fn from(value: &Vector2KeyFrameAnimation) -> Self {
36223         ::windows::runtime::Interface::cast(value).unwrap()
36224     }
36225 }
36226 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>36227     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
36228         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(self))
36229     }
36230 }
36231 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for &Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>36232     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
36233         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(::std::clone::Clone::clone(self)))
36234     }
36235 }
36236 impl ::std::convert::From<Vector2KeyFrameAnimation> for CompositionAnimation {
from(value: Vector2KeyFrameAnimation) -> Self36237     fn from(value: Vector2KeyFrameAnimation) -> Self {
36238         ::std::convert::Into::<CompositionAnimation>::into(&value)
36239     }
36240 }
36241 impl ::std::convert::From<&Vector2KeyFrameAnimation> for CompositionAnimation {
from(value: &Vector2KeyFrameAnimation) -> Self36242     fn from(value: &Vector2KeyFrameAnimation) -> Self {
36243         ::windows::runtime::Interface::cast(value).unwrap()
36244     }
36245 }
36246 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>36247     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
36248         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
36249     }
36250 }
36251 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>36252     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
36253         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
36254     }
36255 }
36256 impl ::std::convert::From<Vector2KeyFrameAnimation> for CompositionObject {
from(value: Vector2KeyFrameAnimation) -> Self36257     fn from(value: Vector2KeyFrameAnimation) -> Self {
36258         ::std::convert::Into::<CompositionObject>::into(&value)
36259     }
36260 }
36261 impl ::std::convert::From<&Vector2KeyFrameAnimation> for CompositionObject {
from(value: &Vector2KeyFrameAnimation) -> Self36262     fn from(value: &Vector2KeyFrameAnimation) -> Self {
36263         ::windows::runtime::Interface::cast(value).unwrap()
36264     }
36265 }
36266 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>36267     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
36268         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
36269     }
36270 }
36271 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &Vector2KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>36272     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
36273         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
36274     }
36275 }
36276 unsafe impl ::std::marker::Send for Vector2KeyFrameAnimation {}
36277 unsafe impl ::std::marker::Sync for Vector2KeyFrameAnimation {}
36278 #[repr(transparent)]
36279 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
36280 pub struct Vector2NaturalMotionAnimation(::windows::runtime::IInspectable);
36281 impl Vector2NaturalMotionAnimation {
36282     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>36283     pub fn FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
36284         let this = self;
36285         unsafe {
36286             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36287             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>(result__)
36288         }
36289     }
36290     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()>36291     pub fn SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36292         let this = self;
36293         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36294     }
36295     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>36296     pub fn InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>> {
36297         let this = self;
36298         unsafe {
36299             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36300             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>(result__)
36301         }
36302     }
36303     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()>36304     pub fn SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector2>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36305         let this = self;
36306         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36307     }
36308     #[cfg(feature = "Foundation_Numerics")]
InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>36309     pub fn InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
36310         let this = self;
36311         unsafe {
36312             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
36313             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
36314         }
36315     }
36316     #[cfg(feature = "Foundation_Numerics")]
SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>36317     pub fn SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36318         let this = self;
36319         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36320     }
36321     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>36322     pub fn Close(&self) -> ::windows::runtime::Result<()> {
36323         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
36324         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
36325     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>36326     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
36327         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36328         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
36329     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>36330     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
36331         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36332         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
36333     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36334     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36335         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36336         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36337     }
36338     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36339     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36340         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36341         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36342     }
36343     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36344     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36345         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36346         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36347     }
36348     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36349     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36350         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36351         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36352     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>36353     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
36354         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36355         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
36356     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>36357     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
36358         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36359         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
36360     }
36361     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36362     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36363         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36364         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36365     }
36366     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36367     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36368         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36369         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36370     }
36371     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36372     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36373         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36374         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36375     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>36376     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
36377         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36378         unsafe {
36379             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36380             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
36381         }
36382     }
36383     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>36384     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
36385         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36386         unsafe {
36387             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36388             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
36389         }
36390     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>36391     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
36392         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36393         unsafe {
36394             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36395             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
36396         }
36397     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>36398     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
36399         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36400         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
36401     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>36402     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
36403         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36404         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
36405     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>36406     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
36407         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
36408         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
36409     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>36410     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
36411         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
36412         unsafe {
36413             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
36414             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
36415         }
36416     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>36417     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36418         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
36419         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36420     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>36421     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
36422         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36423         unsafe {
36424             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
36425             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
36426         }
36427     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>36428     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36429         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36430         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36431     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>36432     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
36433         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36434         unsafe {
36435             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36436             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
36437         }
36438     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>36439     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36440         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36441         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36442     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>36443     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36444         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36445         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36446     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>36447     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36448         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36449         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36450     }
36451     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>36452     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
36453         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
36454         unsafe {
36455             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36456             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
36457         }
36458     }
36459     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>36460     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
36461         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
36462         unsafe {
36463             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36464             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
36465         }
36466     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>36467     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
36468         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
36469         unsafe {
36470             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
36471             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
36472         }
36473     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>36474     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
36475         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
36476         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
36477     }
36478     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>36479     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
36480         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
36481         unsafe {
36482             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
36483             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
36484         }
36485     }
36486     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>36487     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36488         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
36489         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36490     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>36491     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
36492         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
36493         unsafe {
36494             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
36495             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
36496         }
36497     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>36498     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
36499         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
36500         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
36501     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>36502     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
36503         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
36504         unsafe {
36505             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36506             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
36507         }
36508     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>36509     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
36510         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
36511         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
36512     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>36513     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
36514         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
36515         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
36516     }
36517 }
36518 unsafe impl ::windows::runtime::RuntimeType for Vector2NaturalMotionAnimation {
36519     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector2NaturalMotionAnimation;{0f3e0b7d-e512-479d-a00c-77c93a30a395})");
36520 }
36521 unsafe impl ::windows::runtime::Interface for Vector2NaturalMotionAnimation {
36522     type Vtable = IVector2NaturalMotionAnimation_abi;
36523     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(255724413, 58642, 18333, [160, 12, 119, 201, 58, 48, 163, 149]);
36524 }
36525 impl ::windows::runtime::RuntimeName for Vector2NaturalMotionAnimation {
36526     const NAME: &'static str = "Windows.UI.Composition.Vector2NaturalMotionAnimation";
36527 }
36528 impl ::std::convert::From<Vector2NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: Vector2NaturalMotionAnimation) -> Self36529     fn from(value: Vector2NaturalMotionAnimation) -> Self {
36530         unsafe { ::std::mem::transmute(value) }
36531     }
36532 }
36533 impl ::std::convert::From<&Vector2NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &Vector2NaturalMotionAnimation) -> Self36534     fn from(value: &Vector2NaturalMotionAnimation) -> Self {
36535         ::std::convert::From::from(::std::clone::Clone::clone(value))
36536     }
36537 }
36538 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>36539     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
36540         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
36541     }
36542 }
36543 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>36544     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
36545         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
36546     }
36547 }
36548 impl ::std::convert::From<Vector2NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: Vector2NaturalMotionAnimation) -> Self36549     fn from(value: Vector2NaturalMotionAnimation) -> Self {
36550         value.0
36551     }
36552 }
36553 impl ::std::convert::From<&Vector2NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &Vector2NaturalMotionAnimation) -> Self36554     fn from(value: &Vector2NaturalMotionAnimation) -> Self {
36555         value.0.clone()
36556     }
36557 }
36558 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>36559     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
36560         ::windows::runtime::Param::Owned(self.0)
36561     }
36562 }
36563 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>36564     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
36565         ::windows::runtime::Param::Borrowed(&self.0)
36566     }
36567 }
36568 #[cfg(feature = "Foundation")]
36569 impl ::std::convert::TryFrom<Vector2NaturalMotionAnimation> for super::super::Foundation::IClosable {
36570     type Error = ::windows::runtime::Error;
try_from(value: Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>36571     fn try_from(value: Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
36572         ::std::convert::TryFrom::try_from(&value)
36573     }
36574 }
36575 #[cfg(feature = "Foundation")]
36576 impl ::std::convert::TryFrom<&Vector2NaturalMotionAnimation> for super::super::Foundation::IClosable {
36577     type Error = ::windows::runtime::Error;
try_from(value: &Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>36578     fn try_from(value: &Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
36579         ::windows::runtime::Interface::cast(value)
36580     }
36581 }
36582 #[cfg(feature = "Foundation")]
36583 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>36584     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
36585         ::windows::runtime::IntoParam::into_param(&self)
36586     }
36587 }
36588 #[cfg(feature = "Foundation")]
36589 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>36590     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
36591         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
36592     }
36593 }
36594 impl ::std::convert::TryFrom<Vector2NaturalMotionAnimation> for ICompositionAnimationBase {
36595     type Error = ::windows::runtime::Error;
try_from(value: Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>36596     fn try_from(value: Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
36597         ::std::convert::TryFrom::try_from(&value)
36598     }
36599 }
36600 impl ::std::convert::TryFrom<&Vector2NaturalMotionAnimation> for ICompositionAnimationBase {
36601     type Error = ::windows::runtime::Error;
try_from(value: &Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>36602     fn try_from(value: &Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
36603         ::windows::runtime::Interface::cast(value)
36604     }
36605 }
36606 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>36607     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
36608         ::windows::runtime::IntoParam::into_param(&self)
36609     }
36610 }
36611 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>36612     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
36613         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
36614     }
36615 }
36616 impl ::std::convert::TryFrom<Vector2NaturalMotionAnimation> for IAnimationObject {
36617     type Error = ::windows::runtime::Error;
try_from(value: Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>36618     fn try_from(value: Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
36619         ::std::convert::TryFrom::try_from(&value)
36620     }
36621 }
36622 impl ::std::convert::TryFrom<&Vector2NaturalMotionAnimation> for IAnimationObject {
36623     type Error = ::windows::runtime::Error;
try_from(value: &Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self>36624     fn try_from(value: &Vector2NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
36625         ::windows::runtime::Interface::cast(value)
36626     }
36627 }
36628 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>36629     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
36630         ::windows::runtime::IntoParam::into_param(&self)
36631     }
36632 }
36633 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>36634     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
36635         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
36636     }
36637 }
36638 impl ::std::convert::From<Vector2NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: Vector2NaturalMotionAnimation) -> Self36639     fn from(value: Vector2NaturalMotionAnimation) -> Self {
36640         ::std::convert::Into::<NaturalMotionAnimation>::into(&value)
36641     }
36642 }
36643 impl ::std::convert::From<&Vector2NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: &Vector2NaturalMotionAnimation) -> Self36644     fn from(value: &Vector2NaturalMotionAnimation) -> Self {
36645         ::windows::runtime::Interface::cast(value).unwrap()
36646     }
36647 }
36648 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>36649     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
36650         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(self))
36651     }
36652 }
36653 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for &Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>36654     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
36655         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
36656     }
36657 }
36658 impl ::std::convert::From<Vector2NaturalMotionAnimation> for CompositionAnimation {
from(value: Vector2NaturalMotionAnimation) -> Self36659     fn from(value: Vector2NaturalMotionAnimation) -> Self {
36660         ::std::convert::Into::<CompositionAnimation>::into(&value)
36661     }
36662 }
36663 impl ::std::convert::From<&Vector2NaturalMotionAnimation> for CompositionAnimation {
from(value: &Vector2NaturalMotionAnimation) -> Self36664     fn from(value: &Vector2NaturalMotionAnimation) -> Self {
36665         ::windows::runtime::Interface::cast(value).unwrap()
36666     }
36667 }
36668 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>36669     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
36670         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
36671     }
36672 }
36673 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>36674     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
36675         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
36676     }
36677 }
36678 impl ::std::convert::From<Vector2NaturalMotionAnimation> for CompositionObject {
from(value: Vector2NaturalMotionAnimation) -> Self36679     fn from(value: Vector2NaturalMotionAnimation) -> Self {
36680         ::std::convert::Into::<CompositionObject>::into(&value)
36681     }
36682 }
36683 impl ::std::convert::From<&Vector2NaturalMotionAnimation> for CompositionObject {
from(value: &Vector2NaturalMotionAnimation) -> Self36684     fn from(value: &Vector2NaturalMotionAnimation) -> Self {
36685         ::windows::runtime::Interface::cast(value).unwrap()
36686     }
36687 }
36688 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>36689     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
36690         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
36691     }
36692 }
36693 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &Vector2NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>36694     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
36695         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
36696     }
36697 }
36698 unsafe impl ::std::marker::Send for Vector2NaturalMotionAnimation {}
36699 unsafe impl ::std::marker::Sync for Vector2NaturalMotionAnimation {}
36700 #[repr(transparent)]
36701 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
36702 pub struct Vector3KeyFrameAnimation(::windows::runtime::IInspectable);
36703 impl Vector3KeyFrameAnimation {
36704     #[cfg(feature = "Foundation_Numerics")]
InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>36705     pub fn InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
36706         let this = self;
36707         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
36708     }
36709     #[cfg(feature = "Foundation_Numerics")]
InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>36710     pub fn InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
36711         let this = self;
36712         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
36713     }
36714     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>36715     pub fn Close(&self) -> ::windows::runtime::Result<()> {
36716         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
36717         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
36718     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>36719     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
36720         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36721         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
36722     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>36723     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
36724         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36725         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
36726     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36727     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36728         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36729         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36730     }
36731     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36732     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36733         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36734         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36735     }
36736     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36737     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36738         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36739         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36740     }
36741     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36742     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36743         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36744         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36745     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>36746     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
36747         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36748         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
36749     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>36750     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
36751         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36752         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
36753     }
36754     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36755     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36756         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36757         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36758     }
36759     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36760     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36761         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36762         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36763     }
36764     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>36765     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
36766         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
36767         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
36768     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>36769     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
36770         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36771         unsafe {
36772             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36773             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
36774         }
36775     }
36776     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>36777     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
36778         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36779         unsafe {
36780             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36781             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
36782         }
36783     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>36784     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
36785         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36786         unsafe {
36787             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36788             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
36789         }
36790     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>36791     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
36792         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36793         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
36794     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>36795     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
36796         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
36797         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
36798     }
36799     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>36800     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
36801         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36802         unsafe {
36803             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
36804             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
36805         }
36806     }
36807     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>36808     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36809         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36810         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36811     }
36812     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>36813     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
36814         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36815         unsafe {
36816             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
36817             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
36818         }
36819     }
36820     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>36821     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36822         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36823         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36824     }
IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior>36825     pub fn IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior> {
36826         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36827         unsafe {
36828             let mut result__: AnimationIterationBehavior = ::std::mem::zeroed();
36829             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationIterationBehavior>(result__)
36830         }
36831     }
SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()>36832     pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()> {
36833         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36834         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
36835     }
IterationCount(&self) -> ::windows::runtime::Result<i32>36836     pub fn IterationCount(&self) -> ::windows::runtime::Result<i32> {
36837         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36838         unsafe {
36839             let mut result__: i32 = ::std::mem::zeroed();
36840             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
36841         }
36842     }
SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()>36843     pub fn SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()> {
36844         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36845         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
36846     }
KeyFrameCount(&self) -> ::windows::runtime::Result<i32>36847     pub fn KeyFrameCount(&self) -> ::windows::runtime::Result<i32> {
36848         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36849         unsafe {
36850             let mut result__: i32 = ::std::mem::zeroed();
36851             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
36852         }
36853     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>36854     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
36855         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36856         unsafe {
36857             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
36858             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
36859         }
36860     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>36861     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
36862         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36863         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
36864     }
InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>36865     pub fn InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
36866         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36867         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
36868     }
InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>36869     pub fn InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
36870         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
36871         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
36872     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>36873     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
36874         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
36875         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
36876     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>36877     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
36878         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
36879         unsafe {
36880             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
36881             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
36882         }
36883     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>36884     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36885         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
36886         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36887     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>36888     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
36889         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36890         unsafe {
36891             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
36892             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
36893         }
36894     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>36895     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36896         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36897         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36898     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>36899     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
36900         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36901         unsafe {
36902             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36903             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
36904         }
36905     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>36906     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36907         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36908         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36909     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>36910     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36911         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36912         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36913     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>36914     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
36915         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
36916         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
36917     }
Direction(&self) -> ::windows::runtime::Result<AnimationDirection>36918     pub fn Direction(&self) -> ::windows::runtime::Result<AnimationDirection> {
36919         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
36920         unsafe {
36921             let mut result__: AnimationDirection = ::std::mem::zeroed();
36922             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDirection>(result__)
36923         }
36924     }
SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()>36925     pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()> {
36926         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
36927         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
36928     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>36929     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
36930         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
36931         unsafe {
36932             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
36933             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
36934         }
36935     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>36936     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
36937         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
36938         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
36939     }
36940     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>36941     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
36942         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
36943         unsafe {
36944             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36945             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
36946         }
36947     }
36948     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>36949     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
36950         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
36951         unsafe {
36952             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36953             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
36954         }
36955     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>36956     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
36957         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
36958         unsafe {
36959             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
36960             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
36961         }
36962     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>36963     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
36964         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
36965         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
36966     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>36967     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
36968         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
36969         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
36970     }
36971 }
36972 unsafe impl ::windows::runtime::RuntimeType for Vector3KeyFrameAnimation {
36973     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector3KeyFrameAnimation;{c8039daa-a281-43c2-a73d-b68e3c533c40})");
36974 }
36975 unsafe impl ::windows::runtime::Interface for Vector3KeyFrameAnimation {
36976     type Vtable = IVector3KeyFrameAnimation_abi;
36977     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3355680170, 41601, 17346, [167, 61, 182, 142, 60, 83, 60, 64]);
36978 }
36979 impl ::windows::runtime::RuntimeName for Vector3KeyFrameAnimation {
36980     const NAME: &'static str = "Windows.UI.Composition.Vector3KeyFrameAnimation";
36981 }
36982 impl ::std::convert::From<Vector3KeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: Vector3KeyFrameAnimation) -> Self36983     fn from(value: Vector3KeyFrameAnimation) -> Self {
36984         unsafe { ::std::mem::transmute(value) }
36985     }
36986 }
36987 impl ::std::convert::From<&Vector3KeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: &Vector3KeyFrameAnimation) -> Self36988     fn from(value: &Vector3KeyFrameAnimation) -> Self {
36989         ::std::convert::From::from(::std::clone::Clone::clone(value))
36990     }
36991 }
36992 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>36993     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
36994         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
36995     }
36996 }
36997 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>36998     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
36999         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
37000     }
37001 }
37002 impl ::std::convert::From<Vector3KeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: Vector3KeyFrameAnimation) -> Self37003     fn from(value: Vector3KeyFrameAnimation) -> Self {
37004         value.0
37005     }
37006 }
37007 impl ::std::convert::From<&Vector3KeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: &Vector3KeyFrameAnimation) -> Self37008     fn from(value: &Vector3KeyFrameAnimation) -> Self {
37009         value.0.clone()
37010     }
37011 }
37012 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>37013     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
37014         ::windows::runtime::Param::Owned(self.0)
37015     }
37016 }
37017 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>37018     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
37019         ::windows::runtime::Param::Borrowed(&self.0)
37020     }
37021 }
37022 #[cfg(feature = "Foundation")]
37023 impl ::std::convert::TryFrom<Vector3KeyFrameAnimation> for super::super::Foundation::IClosable {
37024     type Error = ::windows::runtime::Error;
try_from(value: Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self>37025     fn try_from(value: Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37026         ::std::convert::TryFrom::try_from(&value)
37027     }
37028 }
37029 #[cfg(feature = "Foundation")]
37030 impl ::std::convert::TryFrom<&Vector3KeyFrameAnimation> for super::super::Foundation::IClosable {
37031     type Error = ::windows::runtime::Error;
try_from(value: &Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self>37032     fn try_from(value: &Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37033         ::windows::runtime::Interface::cast(value)
37034     }
37035 }
37036 #[cfg(feature = "Foundation")]
37037 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>37038     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
37039         ::windows::runtime::IntoParam::into_param(&self)
37040     }
37041 }
37042 #[cfg(feature = "Foundation")]
37043 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>37044     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
37045         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
37046     }
37047 }
37048 impl ::std::convert::TryFrom<Vector3KeyFrameAnimation> for ICompositionAnimationBase {
37049     type Error = ::windows::runtime::Error;
try_from(value: Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self>37050     fn try_from(value: Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37051         ::std::convert::TryFrom::try_from(&value)
37052     }
37053 }
37054 impl ::std::convert::TryFrom<&Vector3KeyFrameAnimation> for ICompositionAnimationBase {
37055     type Error = ::windows::runtime::Error;
try_from(value: &Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self>37056     fn try_from(value: &Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37057         ::windows::runtime::Interface::cast(value)
37058     }
37059 }
37060 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>37061     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
37062         ::windows::runtime::IntoParam::into_param(&self)
37063     }
37064 }
37065 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>37066     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
37067         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
37068     }
37069 }
37070 impl ::std::convert::TryFrom<Vector3KeyFrameAnimation> for IAnimationObject {
37071     type Error = ::windows::runtime::Error;
try_from(value: Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self>37072     fn try_from(value: Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37073         ::std::convert::TryFrom::try_from(&value)
37074     }
37075 }
37076 impl ::std::convert::TryFrom<&Vector3KeyFrameAnimation> for IAnimationObject {
37077     type Error = ::windows::runtime::Error;
try_from(value: &Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self>37078     fn try_from(value: &Vector3KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37079         ::windows::runtime::Interface::cast(value)
37080     }
37081 }
37082 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>37083     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
37084         ::windows::runtime::IntoParam::into_param(&self)
37085     }
37086 }
37087 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>37088     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
37089         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
37090     }
37091 }
37092 impl ::std::convert::From<Vector3KeyFrameAnimation> for KeyFrameAnimation {
from(value: Vector3KeyFrameAnimation) -> Self37093     fn from(value: Vector3KeyFrameAnimation) -> Self {
37094         ::std::convert::Into::<KeyFrameAnimation>::into(&value)
37095     }
37096 }
37097 impl ::std::convert::From<&Vector3KeyFrameAnimation> for KeyFrameAnimation {
from(value: &Vector3KeyFrameAnimation) -> Self37098     fn from(value: &Vector3KeyFrameAnimation) -> Self {
37099         ::windows::runtime::Interface::cast(value).unwrap()
37100     }
37101 }
37102 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>37103     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
37104         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(self))
37105     }
37106 }
37107 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for &Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>37108     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
37109         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(::std::clone::Clone::clone(self)))
37110     }
37111 }
37112 impl ::std::convert::From<Vector3KeyFrameAnimation> for CompositionAnimation {
from(value: Vector3KeyFrameAnimation) -> Self37113     fn from(value: Vector3KeyFrameAnimation) -> Self {
37114         ::std::convert::Into::<CompositionAnimation>::into(&value)
37115     }
37116 }
37117 impl ::std::convert::From<&Vector3KeyFrameAnimation> for CompositionAnimation {
from(value: &Vector3KeyFrameAnimation) -> Self37118     fn from(value: &Vector3KeyFrameAnimation) -> Self {
37119         ::windows::runtime::Interface::cast(value).unwrap()
37120     }
37121 }
37122 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>37123     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
37124         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
37125     }
37126 }
37127 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>37128     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
37129         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
37130     }
37131 }
37132 impl ::std::convert::From<Vector3KeyFrameAnimation> for CompositionObject {
from(value: Vector3KeyFrameAnimation) -> Self37133     fn from(value: Vector3KeyFrameAnimation) -> Self {
37134         ::std::convert::Into::<CompositionObject>::into(&value)
37135     }
37136 }
37137 impl ::std::convert::From<&Vector3KeyFrameAnimation> for CompositionObject {
from(value: &Vector3KeyFrameAnimation) -> Self37138     fn from(value: &Vector3KeyFrameAnimation) -> Self {
37139         ::windows::runtime::Interface::cast(value).unwrap()
37140     }
37141 }
37142 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>37143     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
37144         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
37145     }
37146 }
37147 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &Vector3KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>37148     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
37149         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
37150     }
37151 }
37152 unsafe impl ::std::marker::Send for Vector3KeyFrameAnimation {}
37153 unsafe impl ::std::marker::Sync for Vector3KeyFrameAnimation {}
37154 #[repr(transparent)]
37155 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
37156 pub struct Vector3NaturalMotionAnimation(::windows::runtime::IInspectable);
37157 impl Vector3NaturalMotionAnimation {
37158     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>37159     pub fn FinalValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
37160         let this = self;
37161         unsafe {
37162             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37163             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>(result__)
37164         }
37165     }
37166     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()>37167     pub fn SetFinalValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37168         let this = self;
37169         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37170     }
37171     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>37172     pub fn InitialValue(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>> {
37173         let this = self;
37174         unsafe {
37175             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37176             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>(result__)
37177         }
37178     }
37179     #[cfg(all(feature = "Foundation", feature = "Foundation_Numerics"))]
SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()>37180     pub fn SetInitialValue<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::Numerics::Vector3>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37181         let this = self;
37182         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37183     }
37184     #[cfg(feature = "Foundation_Numerics")]
InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>37185     pub fn InitialVelocity(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
37186         let this = self;
37187         unsafe {
37188             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
37189             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
37190         }
37191     }
37192     #[cfg(feature = "Foundation_Numerics")]
SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>37193     pub fn SetInitialVelocity<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37194         let this = self;
37195         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37196     }
37197     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>37198     pub fn Close(&self) -> ::windows::runtime::Result<()> {
37199         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
37200         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
37201     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>37202     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
37203         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37204         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
37205     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>37206     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
37207         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37208         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
37209     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37210     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37211         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37212         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37213     }
37214     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37215     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37216         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37217         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37218     }
37219     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37220     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37221         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37222         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37223     }
37224     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37225     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37226         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37227         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37228     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>37229     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
37230         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37231         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
37232     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>37233     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
37234         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37235         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
37236     }
37237     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37238     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37239         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37240         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37241     }
37242     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37243     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37244         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37245         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37246     }
37247     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37248     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37249         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37250         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37251     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>37252     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
37253         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37254         unsafe {
37255             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37256             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
37257         }
37258     }
37259     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>37260     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
37261         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37262         unsafe {
37263             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37264             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
37265         }
37266     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>37267     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
37268         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37269         unsafe {
37270             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37271             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
37272         }
37273     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>37274     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
37275         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37276         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
37277     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>37278     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
37279         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37280         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
37281     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>37282     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
37283         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
37284         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
37285     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>37286     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
37287         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
37288         unsafe {
37289             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
37290             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
37291         }
37292     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>37293     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37294         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
37295         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37296     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>37297     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
37298         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37299         unsafe {
37300             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
37301             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
37302         }
37303     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>37304     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37305         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37306         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37307     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>37308     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
37309         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37310         unsafe {
37311             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37312             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
37313         }
37314     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>37315     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37316         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37317         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37318     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>37319     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37320         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37321         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37322     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>37323     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37324         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37325         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37326     }
37327     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>37328     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
37329         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
37330         unsafe {
37331             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37332             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
37333         }
37334     }
37335     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>37336     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
37337         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
37338         unsafe {
37339             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37340             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
37341         }
37342     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>37343     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
37344         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
37345         unsafe {
37346             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
37347             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
37348         }
37349     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>37350     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
37351         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
37352         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
37353     }
37354     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>37355     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
37356         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
37357         unsafe {
37358             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
37359             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
37360         }
37361     }
37362     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>37363     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37364         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
37365         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37366     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>37367     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
37368         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
37369         unsafe {
37370             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
37371             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
37372         }
37373     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>37374     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
37375         let this = &::windows::runtime::Interface::cast::<INaturalMotionAnimation>(self)?;
37376         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
37377     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>37378     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
37379         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
37380         unsafe {
37381             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37382             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
37383         }
37384     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>37385     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
37386         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
37387         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
37388     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>37389     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
37390         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
37391         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
37392     }
37393 }
37394 unsafe impl ::windows::runtime::RuntimeType for Vector3NaturalMotionAnimation {
37395     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector3NaturalMotionAnimation;{9c17042c-e2ca-45ad-969e-4e78b7b9ad41})");
37396 }
37397 unsafe impl ::windows::runtime::Interface for Vector3NaturalMotionAnimation {
37398     type Vtable = IVector3NaturalMotionAnimation_abi;
37399     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2618754092, 58058, 17837, [150, 158, 78, 120, 183, 185, 173, 65]);
37400 }
37401 impl ::windows::runtime::RuntimeName for Vector3NaturalMotionAnimation {
37402     const NAME: &'static str = "Windows.UI.Composition.Vector3NaturalMotionAnimation";
37403 }
37404 impl ::std::convert::From<Vector3NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: Vector3NaturalMotionAnimation) -> Self37405     fn from(value: Vector3NaturalMotionAnimation) -> Self {
37406         unsafe { ::std::mem::transmute(value) }
37407     }
37408 }
37409 impl ::std::convert::From<&Vector3NaturalMotionAnimation> for ::windows::runtime::IUnknown {
from(value: &Vector3NaturalMotionAnimation) -> Self37410     fn from(value: &Vector3NaturalMotionAnimation) -> Self {
37411         ::std::convert::From::from(::std::clone::Clone::clone(value))
37412     }
37413 }
37414 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>37415     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
37416         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
37417     }
37418 }
37419 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>37420     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
37421         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
37422     }
37423 }
37424 impl ::std::convert::From<Vector3NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: Vector3NaturalMotionAnimation) -> Self37425     fn from(value: Vector3NaturalMotionAnimation) -> Self {
37426         value.0
37427     }
37428 }
37429 impl ::std::convert::From<&Vector3NaturalMotionAnimation> for ::windows::runtime::IInspectable {
from(value: &Vector3NaturalMotionAnimation) -> Self37430     fn from(value: &Vector3NaturalMotionAnimation) -> Self {
37431         value.0.clone()
37432     }
37433 }
37434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>37435     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
37436         ::windows::runtime::Param::Owned(self.0)
37437     }
37438 }
37439 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>37440     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
37441         ::windows::runtime::Param::Borrowed(&self.0)
37442     }
37443 }
37444 #[cfg(feature = "Foundation")]
37445 impl ::std::convert::TryFrom<Vector3NaturalMotionAnimation> for super::super::Foundation::IClosable {
37446     type Error = ::windows::runtime::Error;
try_from(value: Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>37447     fn try_from(value: Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
37448         ::std::convert::TryFrom::try_from(&value)
37449     }
37450 }
37451 #[cfg(feature = "Foundation")]
37452 impl ::std::convert::TryFrom<&Vector3NaturalMotionAnimation> for super::super::Foundation::IClosable {
37453     type Error = ::windows::runtime::Error;
try_from(value: &Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>37454     fn try_from(value: &Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
37455         ::windows::runtime::Interface::cast(value)
37456     }
37457 }
37458 #[cfg(feature = "Foundation")]
37459 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>37460     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
37461         ::windows::runtime::IntoParam::into_param(&self)
37462     }
37463 }
37464 #[cfg(feature = "Foundation")]
37465 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>37466     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
37467         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
37468     }
37469 }
37470 impl ::std::convert::TryFrom<Vector3NaturalMotionAnimation> for ICompositionAnimationBase {
37471     type Error = ::windows::runtime::Error;
try_from(value: Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>37472     fn try_from(value: Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
37473         ::std::convert::TryFrom::try_from(&value)
37474     }
37475 }
37476 impl ::std::convert::TryFrom<&Vector3NaturalMotionAnimation> for ICompositionAnimationBase {
37477     type Error = ::windows::runtime::Error;
try_from(value: &Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>37478     fn try_from(value: &Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
37479         ::windows::runtime::Interface::cast(value)
37480     }
37481 }
37482 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>37483     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
37484         ::windows::runtime::IntoParam::into_param(&self)
37485     }
37486 }
37487 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>37488     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
37489         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
37490     }
37491 }
37492 impl ::std::convert::TryFrom<Vector3NaturalMotionAnimation> for IAnimationObject {
37493     type Error = ::windows::runtime::Error;
try_from(value: Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>37494     fn try_from(value: Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
37495         ::std::convert::TryFrom::try_from(&value)
37496     }
37497 }
37498 impl ::std::convert::TryFrom<&Vector3NaturalMotionAnimation> for IAnimationObject {
37499     type Error = ::windows::runtime::Error;
try_from(value: &Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self>37500     fn try_from(value: &Vector3NaturalMotionAnimation) -> ::windows::runtime::Result<Self> {
37501         ::windows::runtime::Interface::cast(value)
37502     }
37503 }
37504 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>37505     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
37506         ::windows::runtime::IntoParam::into_param(&self)
37507     }
37508 }
37509 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>37510     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
37511         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
37512     }
37513 }
37514 impl ::std::convert::From<Vector3NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: Vector3NaturalMotionAnimation) -> Self37515     fn from(value: Vector3NaturalMotionAnimation) -> Self {
37516         ::std::convert::Into::<NaturalMotionAnimation>::into(&value)
37517     }
37518 }
37519 impl ::std::convert::From<&Vector3NaturalMotionAnimation> for NaturalMotionAnimation {
from(value: &Vector3NaturalMotionAnimation) -> Self37520     fn from(value: &Vector3NaturalMotionAnimation) -> Self {
37521         ::windows::runtime::Interface::cast(value).unwrap()
37522     }
37523 }
37524 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>37525     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
37526         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(self))
37527     }
37528 }
37529 impl<'a> ::windows::runtime::IntoParam<'a, NaturalMotionAnimation> for &Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation>37530     fn into_param(self) -> ::windows::runtime::Param<'a, NaturalMotionAnimation> {
37531         ::windows::runtime::Param::Owned(::std::convert::Into::<NaturalMotionAnimation>::into(::std::clone::Clone::clone(self)))
37532     }
37533 }
37534 impl ::std::convert::From<Vector3NaturalMotionAnimation> for CompositionAnimation {
from(value: Vector3NaturalMotionAnimation) -> Self37535     fn from(value: Vector3NaturalMotionAnimation) -> Self {
37536         ::std::convert::Into::<CompositionAnimation>::into(&value)
37537     }
37538 }
37539 impl ::std::convert::From<&Vector3NaturalMotionAnimation> for CompositionAnimation {
from(value: &Vector3NaturalMotionAnimation) -> Self37540     fn from(value: &Vector3NaturalMotionAnimation) -> Self {
37541         ::windows::runtime::Interface::cast(value).unwrap()
37542     }
37543 }
37544 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>37545     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
37546         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
37547     }
37548 }
37549 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>37550     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
37551         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
37552     }
37553 }
37554 impl ::std::convert::From<Vector3NaturalMotionAnimation> for CompositionObject {
from(value: Vector3NaturalMotionAnimation) -> Self37555     fn from(value: Vector3NaturalMotionAnimation) -> Self {
37556         ::std::convert::Into::<CompositionObject>::into(&value)
37557     }
37558 }
37559 impl ::std::convert::From<&Vector3NaturalMotionAnimation> for CompositionObject {
from(value: &Vector3NaturalMotionAnimation) -> Self37560     fn from(value: &Vector3NaturalMotionAnimation) -> Self {
37561         ::windows::runtime::Interface::cast(value).unwrap()
37562     }
37563 }
37564 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>37565     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
37566         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
37567     }
37568 }
37569 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &Vector3NaturalMotionAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>37570     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
37571         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
37572     }
37573 }
37574 unsafe impl ::std::marker::Send for Vector3NaturalMotionAnimation {}
37575 unsafe impl ::std::marker::Sync for Vector3NaturalMotionAnimation {}
37576 #[repr(transparent)]
37577 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
37578 pub struct Vector4KeyFrameAnimation(::windows::runtime::IInspectable);
37579 impl Vector4KeyFrameAnimation {
37580     #[cfg(feature = "Foundation_Numerics")]
InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>37581     pub fn InsertKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
37582         let this = self;
37583         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
37584     }
37585     #[cfg(feature = "Foundation_Numerics")]
InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>37586     pub fn InsertKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
37587         let this = self;
37588         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
37589     }
37590     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>37591     pub fn Close(&self) -> ::windows::runtime::Result<()> {
37592         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
37593         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
37594     }
ClearAllParameters(&self) -> ::windows::runtime::Result<()>37595     pub fn ClearAllParameters(&self) -> ::windows::runtime::Result<()> {
37596         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37597         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
37598     }
ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>37599     pub fn ClearParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
37600         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37601         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
37602     }
SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37603     pub fn SetColorParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Color>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37604         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37605         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37606     }
37607     #[cfg(feature = "Foundation_Numerics")]
SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37608     pub fn SetMatrix3x2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix3x2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37609         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37610         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37611     }
37612     #[cfg(feature = "Foundation_Numerics")]
SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37613     pub fn SetMatrix4x4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37614         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37615         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37616     }
37617     #[cfg(feature = "Foundation_Numerics")]
SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37618     pub fn SetQuaternionParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37619         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37620         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37621     }
SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()>37622     pub fn SetReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionObject>>(&self, key: Param0, compositionobject: Param1) -> ::windows::runtime::Result<()> {
37623         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37624         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), key.into_param().abi(), compositionobject.into_param().abi()).ok() }
37625     }
SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()>37626     pub fn SetScalarParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: f32) -> ::windows::runtime::Result<()> {
37627         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37628         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
37629     }
37630     #[cfg(feature = "Foundation_Numerics")]
SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37631     pub fn SetVector2Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37632         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37633         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37634     }
37635     #[cfg(feature = "Foundation_Numerics")]
SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37636     pub fn SetVector3Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37637         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37638         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37639     }
37640     #[cfg(feature = "Foundation_Numerics")]
SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()>37641     pub fn SetVector4Parameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector4>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<()> {
37642         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation>(self)?;
37643         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi()).ok() }
37644     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>37645     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
37646         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37647         unsafe {
37648             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37649             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
37650         }
37651     }
37652     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>37653     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
37654         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37655         unsafe {
37656             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37657             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
37658         }
37659     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>37660     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
37661         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37662         unsafe {
37663             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37664             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
37665         }
37666     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>37667     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
37668         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37669         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
37670     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>37671     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
37672         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
37673         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
37674     }
37675     #[cfg(feature = "Foundation")]
DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>37676     pub fn DelayTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
37677         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37678         unsafe {
37679             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
37680             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
37681         }
37682     }
37683     #[cfg(feature = "Foundation")]
SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>37684     pub fn SetDelayTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37685         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37686         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37687     }
37688     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>37689     pub fn Duration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
37690         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37691         unsafe {
37692             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
37693             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
37694         }
37695     }
37696     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>37697     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37698         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37699         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37700     }
IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior>37701     pub fn IterationBehavior(&self) -> ::windows::runtime::Result<AnimationIterationBehavior> {
37702         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37703         unsafe {
37704             let mut result__: AnimationIterationBehavior = ::std::mem::zeroed();
37705             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationIterationBehavior>(result__)
37706         }
37707     }
SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()>37708     pub fn SetIterationBehavior(&self, value: AnimationIterationBehavior) -> ::windows::runtime::Result<()> {
37709         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37710         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
37711     }
IterationCount(&self) -> ::windows::runtime::Result<i32>37712     pub fn IterationCount(&self) -> ::windows::runtime::Result<i32> {
37713         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37714         unsafe {
37715             let mut result__: i32 = ::std::mem::zeroed();
37716             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
37717         }
37718     }
SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()>37719     pub fn SetIterationCount(&self, value: i32) -> ::windows::runtime::Result<()> {
37720         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37721         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
37722     }
KeyFrameCount(&self) -> ::windows::runtime::Result<i32>37723     pub fn KeyFrameCount(&self) -> ::windows::runtime::Result<i32> {
37724         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37725         unsafe {
37726             let mut result__: i32 = ::std::mem::zeroed();
37727             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
37728         }
37729     }
StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior>37730     pub fn StopBehavior(&self) -> ::windows::runtime::Result<AnimationStopBehavior> {
37731         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37732         unsafe {
37733             let mut result__: AnimationStopBehavior = ::std::mem::zeroed();
37734             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationStopBehavior>(result__)
37735         }
37736     }
SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()>37737     pub fn SetStopBehavior(&self, value: AnimationStopBehavior) -> ::windows::runtime::Result<()> {
37738         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37739         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
37740     }
InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()>37741     pub fn InsertExpressionKeyFrame<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, normalizedprogresskey: f32, value: Param1) -> ::windows::runtime::Result<()> {
37742         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37743         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi()).ok() }
37744     }
InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()>37745     pub fn InsertExpressionKeyFrameWithEasingFunction<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, CompositionEasingFunction>>(&self, normalizedprogresskey: f32, value: Param1, easingfunction: Param2) -> ::windows::runtime::Result<()> {
37746         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation>(self)?;
37747         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), normalizedprogresskey, value.into_param().abi(), easingfunction.into_param().abi()).ok() }
37748     }
SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()>37749     pub fn SetBooleanParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0, value: bool) -> ::windows::runtime::Result<()> {
37750         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
37751         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), value).ok() }
37752     }
Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>37753     pub fn Target(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
37754         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
37755         unsafe {
37756             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
37757             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
37758         }
37759     }
SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>37760     pub fn SetTarget<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37761         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation2>(self)?;
37762         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37763     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>37764     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
37765         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37766         unsafe {
37767             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
37768             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
37769         }
37770     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>37771     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37772         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37773         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37774     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>37775     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
37776         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37777         unsafe {
37778             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37779             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
37780         }
37781     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>37782     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37783         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37784         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37785     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>37786     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37787         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37788         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37789     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>37790     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
37791         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
37792         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
37793     }
Direction(&self) -> ::windows::runtime::Result<AnimationDirection>37794     pub fn Direction(&self) -> ::windows::runtime::Result<AnimationDirection> {
37795         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
37796         unsafe {
37797             let mut result__: AnimationDirection = ::std::mem::zeroed();
37798             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDirection>(result__)
37799         }
37800     }
SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()>37801     pub fn SetDirection(&self, value: AnimationDirection) -> ::windows::runtime::Result<()> {
37802         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation2>(self)?;
37803         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
37804     }
DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior>37805     pub fn DelayBehavior(&self) -> ::windows::runtime::Result<AnimationDelayBehavior> {
37806         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
37807         unsafe {
37808             let mut result__: AnimationDelayBehavior = ::std::mem::zeroed();
37809             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnimationDelayBehavior>(result__)
37810         }
37811     }
SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()>37812     pub fn SetDelayBehavior(&self, value: AnimationDelayBehavior) -> ::windows::runtime::Result<()> {
37813         let this = &::windows::runtime::Interface::cast::<IKeyFrameAnimation3>(self)?;
37814         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
37815     }
37816     #[cfg(feature = "Foundation_Collections")]
InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection>37817     pub fn InitialValueExpressions(&self) -> ::windows::runtime::Result<InitialValueExpressionCollection> {
37818         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation3>(self)?;
37819         unsafe {
37820             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37821             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InitialValueExpressionCollection>(result__)
37822         }
37823     }
37824     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>37825     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
37826         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
37827         unsafe {
37828             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37829             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
37830         }
37831     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>37832     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
37833         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
37834         unsafe {
37835             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
37836             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
37837         }
37838     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>37839     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
37840         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
37841         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
37842     }
SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()>37843     pub fn SetExpressionReferenceParameter<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, IAnimationObject>>(&self, parametername: Param0, source: Param1) -> ::windows::runtime::Result<()> {
37844         let this = &::windows::runtime::Interface::cast::<ICompositionAnimation4>(self)?;
37845         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), parametername.into_param().abi(), source.into_param().abi()).ok() }
37846     }
37847 }
37848 unsafe impl ::windows::runtime::RuntimeType for Vector4KeyFrameAnimation {
37849     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Vector4KeyFrameAnimation;{2457945b-addd-4385-9606-b6a3d5e4e1b9})");
37850 }
37851 unsafe impl ::windows::runtime::Interface for Vector4KeyFrameAnimation {
37852     type Vtable = IVector4KeyFrameAnimation_abi;
37853     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(609719387, 44509, 17285, [150, 6, 182, 163, 213, 228, 225, 185]);
37854 }
37855 impl ::windows::runtime::RuntimeName for Vector4KeyFrameAnimation {
37856     const NAME: &'static str = "Windows.UI.Composition.Vector4KeyFrameAnimation";
37857 }
37858 impl ::std::convert::From<Vector4KeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: Vector4KeyFrameAnimation) -> Self37859     fn from(value: Vector4KeyFrameAnimation) -> Self {
37860         unsafe { ::std::mem::transmute(value) }
37861     }
37862 }
37863 impl ::std::convert::From<&Vector4KeyFrameAnimation> for ::windows::runtime::IUnknown {
from(value: &Vector4KeyFrameAnimation) -> Self37864     fn from(value: &Vector4KeyFrameAnimation) -> Self {
37865         ::std::convert::From::from(::std::clone::Clone::clone(value))
37866     }
37867 }
37868 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>37869     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
37870         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
37871     }
37872 }
37873 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>37874     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
37875         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
37876     }
37877 }
37878 impl ::std::convert::From<Vector4KeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: Vector4KeyFrameAnimation) -> Self37879     fn from(value: Vector4KeyFrameAnimation) -> Self {
37880         value.0
37881     }
37882 }
37883 impl ::std::convert::From<&Vector4KeyFrameAnimation> for ::windows::runtime::IInspectable {
from(value: &Vector4KeyFrameAnimation) -> Self37884     fn from(value: &Vector4KeyFrameAnimation) -> Self {
37885         value.0.clone()
37886     }
37887 }
37888 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>37889     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
37890         ::windows::runtime::Param::Owned(self.0)
37891     }
37892 }
37893 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>37894     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
37895         ::windows::runtime::Param::Borrowed(&self.0)
37896     }
37897 }
37898 #[cfg(feature = "Foundation")]
37899 impl ::std::convert::TryFrom<Vector4KeyFrameAnimation> for super::super::Foundation::IClosable {
37900     type Error = ::windows::runtime::Error;
try_from(value: Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self>37901     fn try_from(value: Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37902         ::std::convert::TryFrom::try_from(&value)
37903     }
37904 }
37905 #[cfg(feature = "Foundation")]
37906 impl ::std::convert::TryFrom<&Vector4KeyFrameAnimation> for super::super::Foundation::IClosable {
37907     type Error = ::windows::runtime::Error;
try_from(value: &Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self>37908     fn try_from(value: &Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37909         ::windows::runtime::Interface::cast(value)
37910     }
37911 }
37912 #[cfg(feature = "Foundation")]
37913 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>37914     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
37915         ::windows::runtime::IntoParam::into_param(&self)
37916     }
37917 }
37918 #[cfg(feature = "Foundation")]
37919 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>37920     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
37921         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
37922     }
37923 }
37924 impl ::std::convert::TryFrom<Vector4KeyFrameAnimation> for ICompositionAnimationBase {
37925     type Error = ::windows::runtime::Error;
try_from(value: Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self>37926     fn try_from(value: Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37927         ::std::convert::TryFrom::try_from(&value)
37928     }
37929 }
37930 impl ::std::convert::TryFrom<&Vector4KeyFrameAnimation> for ICompositionAnimationBase {
37931     type Error = ::windows::runtime::Error;
try_from(value: &Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self>37932     fn try_from(value: &Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37933         ::windows::runtime::Interface::cast(value)
37934     }
37935 }
37936 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>37937     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
37938         ::windows::runtime::IntoParam::into_param(&self)
37939     }
37940 }
37941 impl<'a> ::windows::runtime::IntoParam<'a, ICompositionAnimationBase> for &Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase>37942     fn into_param(self) -> ::windows::runtime::Param<'a, ICompositionAnimationBase> {
37943         ::std::convert::TryInto::<ICompositionAnimationBase>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
37944     }
37945 }
37946 impl ::std::convert::TryFrom<Vector4KeyFrameAnimation> for IAnimationObject {
37947     type Error = ::windows::runtime::Error;
try_from(value: Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self>37948     fn try_from(value: Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37949         ::std::convert::TryFrom::try_from(&value)
37950     }
37951 }
37952 impl ::std::convert::TryFrom<&Vector4KeyFrameAnimation> for IAnimationObject {
37953     type Error = ::windows::runtime::Error;
try_from(value: &Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self>37954     fn try_from(value: &Vector4KeyFrameAnimation) -> ::windows::runtime::Result<Self> {
37955         ::windows::runtime::Interface::cast(value)
37956     }
37957 }
37958 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>37959     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
37960         ::windows::runtime::IntoParam::into_param(&self)
37961     }
37962 }
37963 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>37964     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
37965         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
37966     }
37967 }
37968 impl ::std::convert::From<Vector4KeyFrameAnimation> for KeyFrameAnimation {
from(value: Vector4KeyFrameAnimation) -> Self37969     fn from(value: Vector4KeyFrameAnimation) -> Self {
37970         ::std::convert::Into::<KeyFrameAnimation>::into(&value)
37971     }
37972 }
37973 impl ::std::convert::From<&Vector4KeyFrameAnimation> for KeyFrameAnimation {
from(value: &Vector4KeyFrameAnimation) -> Self37974     fn from(value: &Vector4KeyFrameAnimation) -> Self {
37975         ::windows::runtime::Interface::cast(value).unwrap()
37976     }
37977 }
37978 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>37979     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
37980         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(self))
37981     }
37982 }
37983 impl<'a> ::windows::runtime::IntoParam<'a, KeyFrameAnimation> for &Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation>37984     fn into_param(self) -> ::windows::runtime::Param<'a, KeyFrameAnimation> {
37985         ::windows::runtime::Param::Owned(::std::convert::Into::<KeyFrameAnimation>::into(::std::clone::Clone::clone(self)))
37986     }
37987 }
37988 impl ::std::convert::From<Vector4KeyFrameAnimation> for CompositionAnimation {
from(value: Vector4KeyFrameAnimation) -> Self37989     fn from(value: Vector4KeyFrameAnimation) -> Self {
37990         ::std::convert::Into::<CompositionAnimation>::into(&value)
37991     }
37992 }
37993 impl ::std::convert::From<&Vector4KeyFrameAnimation> for CompositionAnimation {
from(value: &Vector4KeyFrameAnimation) -> Self37994     fn from(value: &Vector4KeyFrameAnimation) -> Self {
37995         ::windows::runtime::Interface::cast(value).unwrap()
37996     }
37997 }
37998 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>37999     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
38000         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(self))
38001     }
38002 }
38003 impl<'a> ::windows::runtime::IntoParam<'a, CompositionAnimation> for &Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation>38004     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionAnimation> {
38005         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionAnimation>::into(::std::clone::Clone::clone(self)))
38006     }
38007 }
38008 impl ::std::convert::From<Vector4KeyFrameAnimation> for CompositionObject {
from(value: Vector4KeyFrameAnimation) -> Self38009     fn from(value: Vector4KeyFrameAnimation) -> Self {
38010         ::std::convert::Into::<CompositionObject>::into(&value)
38011     }
38012 }
38013 impl ::std::convert::From<&Vector4KeyFrameAnimation> for CompositionObject {
from(value: &Vector4KeyFrameAnimation) -> Self38014     fn from(value: &Vector4KeyFrameAnimation) -> Self {
38015         ::windows::runtime::Interface::cast(value).unwrap()
38016     }
38017 }
38018 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>38019     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
38020         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
38021     }
38022 }
38023 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &Vector4KeyFrameAnimation {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>38024     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
38025         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
38026     }
38027 }
38028 unsafe impl ::std::marker::Send for Vector4KeyFrameAnimation {}
38029 unsafe impl ::std::marker::Sync for Vector4KeyFrameAnimation {}
38030 #[repr(transparent)]
38031 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
38032 pub struct Visual(::windows::runtime::IInspectable);
38033 impl Visual {
38034     #[cfg(feature = "Foundation_Numerics")]
AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>38035     pub fn AnchorPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
38036         let this = self;
38037         unsafe {
38038             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
38039             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
38040         }
38041     }
38042     #[cfg(feature = "Foundation_Numerics")]
SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>38043     pub fn SetAnchorPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38044         let this = self;
38045         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38046     }
BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility>38047     pub fn BackfaceVisibility(&self) -> ::windows::runtime::Result<CompositionBackfaceVisibility> {
38048         let this = self;
38049         unsafe {
38050             let mut result__: CompositionBackfaceVisibility = ::std::mem::zeroed();
38051             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBackfaceVisibility>(result__)
38052         }
38053     }
SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()>38054     pub fn SetBackfaceVisibility(&self, value: CompositionBackfaceVisibility) -> ::windows::runtime::Result<()> {
38055         let this = self;
38056         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
38057     }
BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode>38058     pub fn BorderMode(&self) -> ::windows::runtime::Result<CompositionBorderMode> {
38059         let this = self;
38060         unsafe {
38061             let mut result__: CompositionBorderMode = ::std::mem::zeroed();
38062             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionBorderMode>(result__)
38063         }
38064     }
SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()>38065     pub fn SetBorderMode(&self, value: CompositionBorderMode) -> ::windows::runtime::Result<()> {
38066         let this = self;
38067         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
38068     }
38069     #[cfg(feature = "Foundation_Numerics")]
CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>38070     pub fn CenterPoint(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
38071         let this = self;
38072         unsafe {
38073             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
38074             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
38075         }
38076     }
38077     #[cfg(feature = "Foundation_Numerics")]
SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>38078     pub fn SetCenterPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38079         let this = self;
38080         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38081     }
Clip(&self) -> ::windows::runtime::Result<CompositionClip>38082     pub fn Clip(&self) -> ::windows::runtime::Result<CompositionClip> {
38083         let this = self;
38084         unsafe {
38085             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38086             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionClip>(result__)
38087         }
38088     }
SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()>38089     pub fn SetClip<'a, Param0: ::windows::runtime::IntoParam<'a, CompositionClip>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38090         let this = self;
38091         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38092     }
CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode>38093     pub fn CompositeMode(&self) -> ::windows::runtime::Result<CompositionCompositeMode> {
38094         let this = self;
38095         unsafe {
38096             let mut result__: CompositionCompositeMode = ::std::mem::zeroed();
38097             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionCompositeMode>(result__)
38098         }
38099     }
SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()>38100     pub fn SetCompositeMode(&self, value: CompositionCompositeMode) -> ::windows::runtime::Result<()> {
38101         let this = self;
38102         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
38103     }
IsVisible(&self) -> ::windows::runtime::Result<bool>38104     pub fn IsVisible(&self) -> ::windows::runtime::Result<bool> {
38105         let this = self;
38106         unsafe {
38107             let mut result__: bool = ::std::mem::zeroed();
38108             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
38109         }
38110     }
SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()>38111     pub fn SetIsVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
38112         let this = self;
38113         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
38114     }
38115     #[cfg(feature = "Foundation_Numerics")]
Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>38116     pub fn Offset(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
38117         let this = self;
38118         unsafe {
38119             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
38120             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
38121         }
38122     }
38123     #[cfg(feature = "Foundation_Numerics")]
SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>38124     pub fn SetOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38125         let this = self;
38126         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38127     }
Opacity(&self) -> ::windows::runtime::Result<f32>38128     pub fn Opacity(&self) -> ::windows::runtime::Result<f32> {
38129         let this = self;
38130         unsafe {
38131             let mut result__: f32 = ::std::mem::zeroed();
38132             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
38133         }
38134     }
SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()>38135     pub fn SetOpacity(&self, value: f32) -> ::windows::runtime::Result<()> {
38136         let this = self;
38137         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
38138     }
38139     #[cfg(feature = "Foundation_Numerics")]
Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion>38140     pub fn Orientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion> {
38141         let this = self;
38142         unsafe {
38143             let mut result__: super::super::Foundation::Numerics::Quaternion = ::std::mem::zeroed();
38144             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Quaternion>(result__)
38145         }
38146     }
38147     #[cfg(feature = "Foundation_Numerics")]
SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()>38148     pub fn SetOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38149         let this = self;
38150         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38151     }
Parent(&self) -> ::windows::runtime::Result<ContainerVisual>38152     pub fn Parent(&self) -> ::windows::runtime::Result<ContainerVisual> {
38153         let this = self;
38154         unsafe {
38155             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38156             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContainerVisual>(result__)
38157         }
38158     }
RotationAngle(&self) -> ::windows::runtime::Result<f32>38159     pub fn RotationAngle(&self) -> ::windows::runtime::Result<f32> {
38160         let this = self;
38161         unsafe {
38162             let mut result__: f32 = ::std::mem::zeroed();
38163             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
38164         }
38165     }
SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()>38166     pub fn SetRotationAngle(&self, value: f32) -> ::windows::runtime::Result<()> {
38167         let this = self;
38168         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
38169     }
RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32>38170     pub fn RotationAngleInDegrees(&self) -> ::windows::runtime::Result<f32> {
38171         let this = self;
38172         unsafe {
38173             let mut result__: f32 = ::std::mem::zeroed();
38174             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
38175         }
38176     }
SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()>38177     pub fn SetRotationAngleInDegrees(&self, value: f32) -> ::windows::runtime::Result<()> {
38178         let this = self;
38179         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value).ok() }
38180     }
38181     #[cfg(feature = "Foundation_Numerics")]
RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>38182     pub fn RotationAxis(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
38183         let this = self;
38184         unsafe {
38185             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
38186             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
38187         }
38188     }
38189     #[cfg(feature = "Foundation_Numerics")]
SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>38190     pub fn SetRotationAxis<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38191         let this = self;
38192         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38193     }
38194     #[cfg(feature = "Foundation_Numerics")]
Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>38195     pub fn Scale(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
38196         let this = self;
38197         unsafe {
38198             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
38199             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
38200         }
38201     }
38202     #[cfg(feature = "Foundation_Numerics")]
SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>38203     pub fn SetScale<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38204         let this = self;
38205         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38206     }
38207     #[cfg(feature = "Foundation_Numerics")]
Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>38208     pub fn Size(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
38209         let this = self;
38210         unsafe {
38211             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
38212             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
38213         }
38214     }
38215     #[cfg(feature = "Foundation_Numerics")]
SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>38216     pub fn SetSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38217         let this = self;
38218         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38219     }
38220     #[cfg(feature = "Foundation_Numerics")]
TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4>38221     pub fn TransformMatrix(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Matrix4x4> {
38222         let this = self;
38223         unsafe {
38224             let mut result__: super::super::Foundation::Numerics::Matrix4x4 = ::std::mem::zeroed();
38225             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Matrix4x4>(result__)
38226         }
38227     }
38228     #[cfg(feature = "Foundation_Numerics")]
SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()>38229     pub fn SetTransformMatrix<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Matrix4x4>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38230         let this = self;
38231         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38232     }
ParentForTransform(&self) -> ::windows::runtime::Result<Visual>38233     pub fn ParentForTransform(&self) -> ::windows::runtime::Result<Visual> {
38234         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
38235         unsafe {
38236             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38237             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Visual>(result__)
38238         }
38239     }
SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()>38240     pub fn SetParentForTransform<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38241         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
38242         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38243     }
38244     #[cfg(feature = "Foundation_Numerics")]
RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3>38245     pub fn RelativeOffsetAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector3> {
38246         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
38247         unsafe {
38248             let mut result__: super::super::Foundation::Numerics::Vector3 = ::std::mem::zeroed();
38249             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector3>(result__)
38250         }
38251     }
38252     #[cfg(feature = "Foundation_Numerics")]
SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()>38253     pub fn SetRelativeOffsetAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector3>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38254         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
38255         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38256     }
38257     #[cfg(feature = "Foundation_Numerics")]
RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2>38258     pub fn RelativeSizeAdjustment(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Vector2> {
38259         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
38260         unsafe {
38261             let mut result__: super::super::Foundation::Numerics::Vector2 = ::std::mem::zeroed();
38262             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Vector2>(result__)
38263         }
38264     }
38265     #[cfg(feature = "Foundation_Numerics")]
SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()>38266     pub fn SetRelativeSizeAdjustment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Vector2>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38267         let this = &::windows::runtime::Interface::cast::<IVisual2>(self)?;
38268         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38269     }
IsHitTestVisible(&self) -> ::windows::runtime::Result<bool>38270     pub fn IsHitTestVisible(&self) -> ::windows::runtime::Result<bool> {
38271         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
38272         unsafe {
38273             let mut result__: bool = ::std::mem::zeroed();
38274             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
38275         }
38276     }
SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()>38277     pub fn SetIsHitTestVisible(&self, value: bool) -> ::windows::runtime::Result<()> {
38278         let this = &::windows::runtime::Interface::cast::<IVisual3>(self)?;
38279         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
38280     }
IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool>38281     pub fn IsPixelSnappingEnabled(&self) -> ::windows::runtime::Result<bool> {
38282         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
38283         unsafe {
38284             let mut result__: bool = ::std::mem::zeroed();
38285             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
38286         }
38287     }
SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()>38288     pub fn SetIsPixelSnappingEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
38289         let this = &::windows::runtime::Interface::cast::<IVisual4>(self)?;
38290         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
38291     }
38292     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>38293     pub fn Close(&self) -> ::windows::runtime::Result<()> {
38294         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
38295         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
38296     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>38297     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
38298         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38299         unsafe {
38300             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38301             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
38302         }
38303     }
38304     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>38305     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
38306         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38307         unsafe {
38308             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38309             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
38310         }
38311     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>38312     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
38313         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38314         unsafe {
38315             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38316             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
38317         }
38318     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>38319     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
38320         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38321         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
38322     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>38323     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
38324         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38325         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
38326     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>38327     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
38328         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38329         unsafe {
38330             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
38331             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
38332         }
38333     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>38334     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38335         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38336         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38337     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>38338     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
38339         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38340         unsafe {
38341             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38342             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
38343         }
38344     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>38345     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38346         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38347         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38348     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>38349     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38350         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38351         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38352     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>38353     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38354         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38355         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38356     }
38357     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>38358     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
38359         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
38360         unsafe {
38361             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38362             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
38363         }
38364     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>38365     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
38366         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
38367         unsafe {
38368             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38369             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
38370         }
38371     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>38372     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
38373         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
38374         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
38375     }
38376 }
38377 unsafe impl ::windows::runtime::RuntimeType for Visual {
38378     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.Visual;{117e202d-a859-4c89-873b-c2aa566788e3})");
38379 }
38380 unsafe impl ::windows::runtime::Interface for Visual {
38381     type Vtable = IVisual_abi;
38382     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(293478445, 43097, 19593, [135, 59, 194, 170, 86, 103, 136, 227]);
38383 }
38384 impl ::windows::runtime::RuntimeName for Visual {
38385     const NAME: &'static str = "Windows.UI.Composition.Visual";
38386 }
38387 impl ::std::convert::From<Visual> for ::windows::runtime::IUnknown {
from(value: Visual) -> Self38388     fn from(value: Visual) -> Self {
38389         unsafe { ::std::mem::transmute(value) }
38390     }
38391 }
38392 impl ::std::convert::From<&Visual> for ::windows::runtime::IUnknown {
from(value: &Visual) -> Self38393     fn from(value: &Visual) -> Self {
38394         ::std::convert::From::from(::std::clone::Clone::clone(value))
38395     }
38396 }
38397 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for Visual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>38398     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
38399         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
38400     }
38401 }
38402 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &Visual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>38403     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
38404         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
38405     }
38406 }
38407 impl ::std::convert::From<Visual> for ::windows::runtime::IInspectable {
from(value: Visual) -> Self38408     fn from(value: Visual) -> Self {
38409         value.0
38410     }
38411 }
38412 impl ::std::convert::From<&Visual> for ::windows::runtime::IInspectable {
from(value: &Visual) -> Self38413     fn from(value: &Visual) -> Self {
38414         value.0.clone()
38415     }
38416 }
38417 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for Visual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>38418     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
38419         ::windows::runtime::Param::Owned(self.0)
38420     }
38421 }
38422 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a Visual {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>38423     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
38424         ::windows::runtime::Param::Borrowed(&self.0)
38425     }
38426 }
38427 #[cfg(feature = "Foundation")]
38428 impl ::std::convert::TryFrom<Visual> for super::super::Foundation::IClosable {
38429     type Error = ::windows::runtime::Error;
try_from(value: Visual) -> ::windows::runtime::Result<Self>38430     fn try_from(value: Visual) -> ::windows::runtime::Result<Self> {
38431         ::std::convert::TryFrom::try_from(&value)
38432     }
38433 }
38434 #[cfg(feature = "Foundation")]
38435 impl ::std::convert::TryFrom<&Visual> for super::super::Foundation::IClosable {
38436     type Error = ::windows::runtime::Error;
try_from(value: &Visual) -> ::windows::runtime::Result<Self>38437     fn try_from(value: &Visual) -> ::windows::runtime::Result<Self> {
38438         ::windows::runtime::Interface::cast(value)
38439     }
38440 }
38441 #[cfg(feature = "Foundation")]
38442 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for Visual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>38443     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
38444         ::windows::runtime::IntoParam::into_param(&self)
38445     }
38446 }
38447 #[cfg(feature = "Foundation")]
38448 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &Visual {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>38449     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
38450         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
38451     }
38452 }
38453 impl ::std::convert::TryFrom<Visual> for IAnimationObject {
38454     type Error = ::windows::runtime::Error;
try_from(value: Visual) -> ::windows::runtime::Result<Self>38455     fn try_from(value: Visual) -> ::windows::runtime::Result<Self> {
38456         ::std::convert::TryFrom::try_from(&value)
38457     }
38458 }
38459 impl ::std::convert::TryFrom<&Visual> for IAnimationObject {
38460     type Error = ::windows::runtime::Error;
try_from(value: &Visual) -> ::windows::runtime::Result<Self>38461     fn try_from(value: &Visual) -> ::windows::runtime::Result<Self> {
38462         ::windows::runtime::Interface::cast(value)
38463     }
38464 }
38465 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for Visual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>38466     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
38467         ::windows::runtime::IntoParam::into_param(&self)
38468     }
38469 }
38470 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &Visual {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>38471     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
38472         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
38473     }
38474 }
38475 impl ::std::convert::From<Visual> for CompositionObject {
from(value: Visual) -> Self38476     fn from(value: Visual) -> Self {
38477         ::std::convert::Into::<CompositionObject>::into(&value)
38478     }
38479 }
38480 impl ::std::convert::From<&Visual> for CompositionObject {
from(value: &Visual) -> Self38481     fn from(value: &Visual) -> Self {
38482         ::windows::runtime::Interface::cast(value).unwrap()
38483     }
38484 }
38485 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for Visual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>38486     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
38487         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
38488     }
38489 }
38490 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &Visual {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>38491     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
38492         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
38493     }
38494 }
38495 unsafe impl ::std::marker::Send for Visual {}
38496 unsafe impl ::std::marker::Sync for Visual {}
38497 #[repr(transparent)]
38498 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
38499 pub struct VisualCollection(::windows::runtime::IInspectable);
38500 impl VisualCollection {
38501     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<Visual>>38502     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<Visual>> {
38503         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<Visual>>(self)?;
38504         unsafe {
38505             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38506             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<Visual>>(result__)
38507         }
38508     }
Count(&self) -> ::windows::runtime::Result<i32>38509     pub fn Count(&self) -> ::windows::runtime::Result<i32> {
38510         let this = self;
38511         unsafe {
38512             let mut result__: i32 = ::std::mem::zeroed();
38513             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
38514         }
38515     }
InsertAbove<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>, Param1: ::windows::runtime::IntoParam<'a, Visual>>(&self, newchild: Param0, sibling: Param1) -> ::windows::runtime::Result<()>38516     pub fn InsertAbove<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>, Param1: ::windows::runtime::IntoParam<'a, Visual>>(&self, newchild: Param0, sibling: Param1) -> ::windows::runtime::Result<()> {
38517         let this = self;
38518         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), newchild.into_param().abi(), sibling.into_param().abi()).ok() }
38519     }
InsertAtBottom<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, newchild: Param0) -> ::windows::runtime::Result<()>38520     pub fn InsertAtBottom<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, newchild: Param0) -> ::windows::runtime::Result<()> {
38521         let this = self;
38522         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), newchild.into_param().abi()).ok() }
38523     }
InsertAtTop<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, newchild: Param0) -> ::windows::runtime::Result<()>38524     pub fn InsertAtTop<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, newchild: Param0) -> ::windows::runtime::Result<()> {
38525         let this = self;
38526         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), newchild.into_param().abi()).ok() }
38527     }
InsertBelow<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>, Param1: ::windows::runtime::IntoParam<'a, Visual>>(&self, newchild: Param0, sibling: Param1) -> ::windows::runtime::Result<()>38528     pub fn InsertBelow<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>, Param1: ::windows::runtime::IntoParam<'a, Visual>>(&self, newchild: Param0, sibling: Param1) -> ::windows::runtime::Result<()> {
38529         let this = self;
38530         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), newchild.into_param().abi(), sibling.into_param().abi()).ok() }
38531     }
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, child: Param0) -> ::windows::runtime::Result<()>38532     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, child: Param0) -> ::windows::runtime::Result<()> {
38533         let this = self;
38534         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), child.into_param().abi()).ok() }
38535     }
RemoveAll(&self) -> ::windows::runtime::Result<()>38536     pub fn RemoveAll(&self) -> ::windows::runtime::Result<()> {
38537         let this = self;
38538         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
38539     }
38540     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>38541     pub fn Close(&self) -> ::windows::runtime::Result<()> {
38542         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
38543         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
38544     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>38545     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
38546         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38547         unsafe {
38548             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38549             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
38550         }
38551     }
38552     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>38553     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
38554         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38555         unsafe {
38556             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38557             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
38558         }
38559     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>38560     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
38561         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38562         unsafe {
38563             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38564             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
38565         }
38566     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>38567     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
38568         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38569         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
38570     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>38571     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
38572         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38573         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
38574     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>38575     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
38576         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38577         unsafe {
38578             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
38579             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
38580         }
38581     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>38582     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38583         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38584         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38585     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>38586     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
38587         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38588         unsafe {
38589             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38590             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
38591         }
38592     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>38593     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38594         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38595         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38596     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>38597     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38598         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38599         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38600     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>38601     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38602         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38603         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38604     }
38605     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>38606     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
38607         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
38608         unsafe {
38609             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38610             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
38611         }
38612     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>38613     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
38614         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
38615         unsafe {
38616             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38617             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
38618         }
38619     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>38620     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
38621         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
38622         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
38623     }
38624 }
38625 unsafe impl ::windows::runtime::RuntimeType for VisualCollection {
38626     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.VisualCollection;{8b745505-fd3e-4a98-84a8-e949468c6bcb})");
38627 }
38628 unsafe impl ::windows::runtime::Interface for VisualCollection {
38629     type Vtable = IVisualCollection_abi;
38630     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2339656965, 64830, 19096, [132, 168, 233, 73, 70, 140, 107, 203]);
38631 }
38632 impl ::windows::runtime::RuntimeName for VisualCollection {
38633     const NAME: &'static str = "Windows.UI.Composition.VisualCollection";
38634 }
38635 impl ::std::convert::From<VisualCollection> for ::windows::runtime::IUnknown {
from(value: VisualCollection) -> Self38636     fn from(value: VisualCollection) -> Self {
38637         unsafe { ::std::mem::transmute(value) }
38638     }
38639 }
38640 impl ::std::convert::From<&VisualCollection> for ::windows::runtime::IUnknown {
from(value: &VisualCollection) -> Self38641     fn from(value: &VisualCollection) -> Self {
38642         ::std::convert::From::from(::std::clone::Clone::clone(value))
38643     }
38644 }
38645 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>38646     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
38647         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
38648     }
38649 }
38650 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>38651     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
38652         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
38653     }
38654 }
38655 impl ::std::convert::From<VisualCollection> for ::windows::runtime::IInspectable {
from(value: VisualCollection) -> Self38656     fn from(value: VisualCollection) -> Self {
38657         value.0
38658     }
38659 }
38660 impl ::std::convert::From<&VisualCollection> for ::windows::runtime::IInspectable {
from(value: &VisualCollection) -> Self38661     fn from(value: &VisualCollection) -> Self {
38662         value.0.clone()
38663     }
38664 }
38665 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>38666     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
38667         ::windows::runtime::Param::Owned(self.0)
38668     }
38669 }
38670 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>38671     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
38672         ::windows::runtime::Param::Borrowed(&self.0)
38673     }
38674 }
38675 #[cfg(feature = "Foundation_Collections")]
38676 impl ::std::convert::TryFrom<VisualCollection> for super::super::Foundation::Collections::IIterable<Visual> {
38677     type Error = ::windows::runtime::Error;
try_from(value: VisualCollection) -> ::windows::runtime::Result<Self>38678     fn try_from(value: VisualCollection) -> ::windows::runtime::Result<Self> {
38679         ::std::convert::TryFrom::try_from(&value)
38680     }
38681 }
38682 #[cfg(feature = "Foundation_Collections")]
38683 impl ::std::convert::TryFrom<&VisualCollection> for super::super::Foundation::Collections::IIterable<Visual> {
38684     type Error = ::windows::runtime::Error;
try_from(value: &VisualCollection) -> ::windows::runtime::Result<Self>38685     fn try_from(value: &VisualCollection) -> ::windows::runtime::Result<Self> {
38686         ::windows::runtime::Interface::cast(value)
38687     }
38688 }
38689 #[cfg(feature = "Foundation_Collections")]
38690 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<Visual>> for VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<Visual>>38691     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<Visual>> {
38692         ::windows::runtime::IntoParam::into_param(&self)
38693     }
38694 }
38695 #[cfg(feature = "Foundation_Collections")]
38696 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<Visual>> for &VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<Visual>>38697     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<Visual>> {
38698         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<Visual>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
38699     }
38700 }
38701 #[cfg(feature = "Foundation")]
38702 impl ::std::convert::TryFrom<VisualCollection> for super::super::Foundation::IClosable {
38703     type Error = ::windows::runtime::Error;
try_from(value: VisualCollection) -> ::windows::runtime::Result<Self>38704     fn try_from(value: VisualCollection) -> ::windows::runtime::Result<Self> {
38705         ::std::convert::TryFrom::try_from(&value)
38706     }
38707 }
38708 #[cfg(feature = "Foundation")]
38709 impl ::std::convert::TryFrom<&VisualCollection> for super::super::Foundation::IClosable {
38710     type Error = ::windows::runtime::Error;
try_from(value: &VisualCollection) -> ::windows::runtime::Result<Self>38711     fn try_from(value: &VisualCollection) -> ::windows::runtime::Result<Self> {
38712         ::windows::runtime::Interface::cast(value)
38713     }
38714 }
38715 #[cfg(feature = "Foundation")]
38716 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>38717     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
38718         ::windows::runtime::IntoParam::into_param(&self)
38719     }
38720 }
38721 #[cfg(feature = "Foundation")]
38722 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>38723     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
38724         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
38725     }
38726 }
38727 impl ::std::convert::TryFrom<VisualCollection> for IAnimationObject {
38728     type Error = ::windows::runtime::Error;
try_from(value: VisualCollection) -> ::windows::runtime::Result<Self>38729     fn try_from(value: VisualCollection) -> ::windows::runtime::Result<Self> {
38730         ::std::convert::TryFrom::try_from(&value)
38731     }
38732 }
38733 impl ::std::convert::TryFrom<&VisualCollection> for IAnimationObject {
38734     type Error = ::windows::runtime::Error;
try_from(value: &VisualCollection) -> ::windows::runtime::Result<Self>38735     fn try_from(value: &VisualCollection) -> ::windows::runtime::Result<Self> {
38736         ::windows::runtime::Interface::cast(value)
38737     }
38738 }
38739 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>38740     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
38741         ::windows::runtime::IntoParam::into_param(&self)
38742     }
38743 }
38744 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>38745     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
38746         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
38747     }
38748 }
38749 impl ::std::convert::From<VisualCollection> for CompositionObject {
from(value: VisualCollection) -> Self38750     fn from(value: VisualCollection) -> Self {
38751         ::std::convert::Into::<CompositionObject>::into(&value)
38752     }
38753 }
38754 impl ::std::convert::From<&VisualCollection> for CompositionObject {
from(value: &VisualCollection) -> Self38755     fn from(value: &VisualCollection) -> Self {
38756         ::windows::runtime::Interface::cast(value).unwrap()
38757     }
38758 }
38759 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>38760     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
38761         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
38762     }
38763 }
38764 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &VisualCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>38765     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
38766         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
38767     }
38768 }
38769 unsafe impl ::std::marker::Send for VisualCollection {}
38770 unsafe impl ::std::marker::Sync for VisualCollection {}
38771 #[cfg(all(feature = "Foundation_Collections"))]
38772 impl ::std::iter::IntoIterator for VisualCollection {
38773     type Item = Visual;
38774     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter38775     fn into_iter(self) -> Self::IntoIter {
38776         ::std::iter::IntoIterator::into_iter(&self)
38777     }
38778 }
38779 #[cfg(all(feature = "Foundation_Collections"))]
38780 impl ::std::iter::IntoIterator for &VisualCollection {
38781     type Item = Visual;
38782     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter38783     fn into_iter(self) -> Self::IntoIter {
38784         self.First().unwrap()
38785     }
38786 }
38787 #[repr(transparent)]
38788 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
38789 pub struct VisualUnorderedCollection(::windows::runtime::IInspectable);
38790 impl VisualUnorderedCollection {
38791     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<Visual>>38792     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<Visual>> {
38793         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<Visual>>(self)?;
38794         unsafe {
38795             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38796             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<Visual>>(result__)
38797         }
38798     }
Count(&self) -> ::windows::runtime::Result<i32>38799     pub fn Count(&self) -> ::windows::runtime::Result<i32> {
38800         let this = self;
38801         unsafe {
38802             let mut result__: i32 = ::std::mem::zeroed();
38803             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
38804         }
38805     }
Add<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, newvisual: Param0) -> ::windows::runtime::Result<()>38806     pub fn Add<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, newvisual: Param0) -> ::windows::runtime::Result<()> {
38807         let this = self;
38808         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), newvisual.into_param().abi()).ok() }
38809     }
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, visual: Param0) -> ::windows::runtime::Result<()>38810     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, Visual>>(&self, visual: Param0) -> ::windows::runtime::Result<()> {
38811         let this = self;
38812         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), visual.into_param().abi()).ok() }
38813     }
RemoveAll(&self) -> ::windows::runtime::Result<()>38814     pub fn RemoveAll(&self) -> ::windows::runtime::Result<()> {
38815         let this = self;
38816         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this)).ok() }
38817     }
38818     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>38819     pub fn Close(&self) -> ::windows::runtime::Result<()> {
38820         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
38821         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
38822     }
Compositor(&self) -> ::windows::runtime::Result<Compositor>38823     pub fn Compositor(&self) -> ::windows::runtime::Result<Compositor> {
38824         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38825         unsafe {
38826             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38827             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Compositor>(result__)
38828         }
38829     }
38830     #[cfg(feature = "UI_Core")]
Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher>38831     pub fn Dispatcher(&self) -> ::windows::runtime::Result<super::Core::CoreDispatcher> {
38832         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38833         unsafe {
38834             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38835             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::CoreDispatcher>(result__)
38836         }
38837     }
Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet>38838     pub fn Properties(&self) -> ::windows::runtime::Result<CompositionPropertySet> {
38839         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38840         unsafe {
38841             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38842             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CompositionPropertySet>(result__)
38843         }
38844     }
StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()>38845     pub fn StartAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, CompositionAnimation>>(&self, propertyname: Param0, animation: Param1) -> ::windows::runtime::Result<()> {
38846         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38847         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), animation.into_param().abi()).ok() }
38848     }
StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()>38849     pub fn StopAnimation<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<()> {
38850         let this = &::windows::runtime::Interface::cast::<ICompositionObject>(self)?;
38851         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), propertyname.into_param().abi()).ok() }
38852     }
Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>38853     pub fn Comment(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
38854         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38855         unsafe {
38856             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
38857             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
38858         }
38859     }
SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>38860     pub fn SetComment<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38861         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38862         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38863     }
ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection>38864     pub fn ImplicitAnimations(&self) -> ::windows::runtime::Result<ImplicitAnimationCollection> {
38865         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38866         unsafe {
38867             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38868             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImplicitAnimationCollection>(result__)
38869         }
38870     }
SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()>38871     pub fn SetImplicitAnimations<'a, Param0: ::windows::runtime::IntoParam<'a, ImplicitAnimationCollection>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38872         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38873         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38874     }
StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>38875     pub fn StartAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38876         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38877         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38878     }
StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()>38879     pub fn StopAnimationGroup<'a, Param0: ::windows::runtime::IntoParam<'a, ICompositionAnimationBase>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
38880         let this = &::windows::runtime::Interface::cast::<ICompositionObject2>(self)?;
38881         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
38882     }
38883     #[cfg(feature = "System")]
DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue>38884     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<super::super::System::DispatcherQueue> {
38885         let this = &::windows::runtime::Interface::cast::<ICompositionObject3>(self)?;
38886         unsafe {
38887             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38888             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::System::DispatcherQueue>(result__)
38889         }
38890     }
TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController>38891     pub fn TryGetAnimationController<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertyname: Param0) -> ::windows::runtime::Result<AnimationController> {
38892         let this = &::windows::runtime::Interface::cast::<ICompositionObject4>(self)?;
38893         unsafe {
38894             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38895             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), &mut result__).from_abi::<AnimationController>(result__)
38896         }
38897     }
PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()>38898     pub fn PopulatePropertyInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, AnimationPropertyInfo>>(&self, propertyname: Param0, propertyinfo: Param1) -> ::windows::runtime::Result<()> {
38899         let this = &::windows::runtime::Interface::cast::<IAnimationObject>(self)?;
38900         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertyname.into_param().abi(), propertyinfo.into_param().abi()).ok() }
38901     }
38902 }
38903 unsafe impl ::windows::runtime::RuntimeType for VisualUnorderedCollection {
38904     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Composition.VisualUnorderedCollection;{338faa70-54c8-40a7-8029-c9ceeb0aa250})");
38905 }
38906 unsafe impl ::windows::runtime::Interface for VisualUnorderedCollection {
38907     type Vtable = IVisualUnorderedCollection_abi;
38908     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(865053296, 21704, 16551, [128, 41, 201, 206, 235, 10, 162, 80]);
38909 }
38910 impl ::windows::runtime::RuntimeName for VisualUnorderedCollection {
38911     const NAME: &'static str = "Windows.UI.Composition.VisualUnorderedCollection";
38912 }
38913 impl ::std::convert::From<VisualUnorderedCollection> for ::windows::runtime::IUnknown {
from(value: VisualUnorderedCollection) -> Self38914     fn from(value: VisualUnorderedCollection) -> Self {
38915         unsafe { ::std::mem::transmute(value) }
38916     }
38917 }
38918 impl ::std::convert::From<&VisualUnorderedCollection> for ::windows::runtime::IUnknown {
from(value: &VisualUnorderedCollection) -> Self38919     fn from(value: &VisualUnorderedCollection) -> Self {
38920         ::std::convert::From::from(::std::clone::Clone::clone(value))
38921     }
38922 }
38923 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>38924     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
38925         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
38926     }
38927 }
38928 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>38929     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
38930         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
38931     }
38932 }
38933 impl ::std::convert::From<VisualUnorderedCollection> for ::windows::runtime::IInspectable {
from(value: VisualUnorderedCollection) -> Self38934     fn from(value: VisualUnorderedCollection) -> Self {
38935         value.0
38936     }
38937 }
38938 impl ::std::convert::From<&VisualUnorderedCollection> for ::windows::runtime::IInspectable {
from(value: &VisualUnorderedCollection) -> Self38939     fn from(value: &VisualUnorderedCollection) -> Self {
38940         value.0.clone()
38941     }
38942 }
38943 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>38944     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
38945         ::windows::runtime::Param::Owned(self.0)
38946     }
38947 }
38948 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>38949     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
38950         ::windows::runtime::Param::Borrowed(&self.0)
38951     }
38952 }
38953 #[cfg(feature = "Foundation_Collections")]
38954 impl ::std::convert::TryFrom<VisualUnorderedCollection> for super::super::Foundation::Collections::IIterable<Visual> {
38955     type Error = ::windows::runtime::Error;
try_from(value: VisualUnorderedCollection) -> ::windows::runtime::Result<Self>38956     fn try_from(value: VisualUnorderedCollection) -> ::windows::runtime::Result<Self> {
38957         ::std::convert::TryFrom::try_from(&value)
38958     }
38959 }
38960 #[cfg(feature = "Foundation_Collections")]
38961 impl ::std::convert::TryFrom<&VisualUnorderedCollection> for super::super::Foundation::Collections::IIterable<Visual> {
38962     type Error = ::windows::runtime::Error;
try_from(value: &VisualUnorderedCollection) -> ::windows::runtime::Result<Self>38963     fn try_from(value: &VisualUnorderedCollection) -> ::windows::runtime::Result<Self> {
38964         ::windows::runtime::Interface::cast(value)
38965     }
38966 }
38967 #[cfg(feature = "Foundation_Collections")]
38968 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<Visual>> for VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<Visual>>38969     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<Visual>> {
38970         ::windows::runtime::IntoParam::into_param(&self)
38971     }
38972 }
38973 #[cfg(feature = "Foundation_Collections")]
38974 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<Visual>> for &VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<Visual>>38975     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<Visual>> {
38976         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<Visual>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
38977     }
38978 }
38979 #[cfg(feature = "Foundation")]
38980 impl ::std::convert::TryFrom<VisualUnorderedCollection> for super::super::Foundation::IClosable {
38981     type Error = ::windows::runtime::Error;
try_from(value: VisualUnorderedCollection) -> ::windows::runtime::Result<Self>38982     fn try_from(value: VisualUnorderedCollection) -> ::windows::runtime::Result<Self> {
38983         ::std::convert::TryFrom::try_from(&value)
38984     }
38985 }
38986 #[cfg(feature = "Foundation")]
38987 impl ::std::convert::TryFrom<&VisualUnorderedCollection> for super::super::Foundation::IClosable {
38988     type Error = ::windows::runtime::Error;
try_from(value: &VisualUnorderedCollection) -> ::windows::runtime::Result<Self>38989     fn try_from(value: &VisualUnorderedCollection) -> ::windows::runtime::Result<Self> {
38990         ::windows::runtime::Interface::cast(value)
38991     }
38992 }
38993 #[cfg(feature = "Foundation")]
38994 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>38995     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
38996         ::windows::runtime::IntoParam::into_param(&self)
38997     }
38998 }
38999 #[cfg(feature = "Foundation")]
39000 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>39001     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
39002         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
39003     }
39004 }
39005 impl ::std::convert::TryFrom<VisualUnorderedCollection> for IAnimationObject {
39006     type Error = ::windows::runtime::Error;
try_from(value: VisualUnorderedCollection) -> ::windows::runtime::Result<Self>39007     fn try_from(value: VisualUnorderedCollection) -> ::windows::runtime::Result<Self> {
39008         ::std::convert::TryFrom::try_from(&value)
39009     }
39010 }
39011 impl ::std::convert::TryFrom<&VisualUnorderedCollection> for IAnimationObject {
39012     type Error = ::windows::runtime::Error;
try_from(value: &VisualUnorderedCollection) -> ::windows::runtime::Result<Self>39013     fn try_from(value: &VisualUnorderedCollection) -> ::windows::runtime::Result<Self> {
39014         ::windows::runtime::Interface::cast(value)
39015     }
39016 }
39017 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>39018     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
39019         ::windows::runtime::IntoParam::into_param(&self)
39020     }
39021 }
39022 impl<'a> ::windows::runtime::IntoParam<'a, IAnimationObject> for &VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject>39023     fn into_param(self) -> ::windows::runtime::Param<'a, IAnimationObject> {
39024         ::std::convert::TryInto::<IAnimationObject>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
39025     }
39026 }
39027 impl ::std::convert::From<VisualUnorderedCollection> for CompositionObject {
from(value: VisualUnorderedCollection) -> Self39028     fn from(value: VisualUnorderedCollection) -> Self {
39029         ::std::convert::Into::<CompositionObject>::into(&value)
39030     }
39031 }
39032 impl ::std::convert::From<&VisualUnorderedCollection> for CompositionObject {
from(value: &VisualUnorderedCollection) -> Self39033     fn from(value: &VisualUnorderedCollection) -> Self {
39034         ::windows::runtime::Interface::cast(value).unwrap()
39035     }
39036 }
39037 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>39038     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
39039         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(self))
39040     }
39041 }
39042 impl<'a> ::windows::runtime::IntoParam<'a, CompositionObject> for &VisualUnorderedCollection {
into_param(self) -> ::windows::runtime::Param<'a, CompositionObject>39043     fn into_param(self) -> ::windows::runtime::Param<'a, CompositionObject> {
39044         ::windows::runtime::Param::Owned(::std::convert::Into::<CompositionObject>::into(::std::clone::Clone::clone(self)))
39045     }
39046 }
39047 unsafe impl ::std::marker::Send for VisualUnorderedCollection {}
39048 unsafe impl ::std::marker::Sync for VisualUnorderedCollection {}
39049 #[cfg(all(feature = "Foundation_Collections"))]
39050 impl ::std::iter::IntoIterator for VisualUnorderedCollection {
39051     type Item = Visual;
39052     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter39053     fn into_iter(self) -> Self::IntoIter {
39054         ::std::iter::IntoIterator::into_iter(&self)
39055     }
39056 }
39057 #[cfg(all(feature = "Foundation_Collections"))]
39058 impl ::std::iter::IntoIterator for &VisualUnorderedCollection {
39059     type Item = Visual;
39060     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter39061     fn into_iter(self) -> Self::IntoIter {
39062         self.First().unwrap()
39063     }
39064 }
39065