1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[repr(transparent)]
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4 pub struct IUIAnimationInterpolator(::windows::runtime::IUnknown);
5 impl IUIAnimationInterpolator {
SetInitialValueAndVelocity(&self, initialvalue: f64, initialvelocity: f64) -> ::windows::runtime::Result<()>6     pub unsafe fn SetInitialValueAndVelocity(&self, initialvalue: f64, initialvelocity: f64) -> ::windows::runtime::Result<()> {
7         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(initialvelocity)).ok()
8     }
SetDuration(&self, duration: f64) -> ::windows::runtime::Result<()>9     pub unsafe fn SetDuration(&self, duration: f64) -> ::windows::runtime::Result<()> {
10         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration)).ok()
11     }
GetDuration(&self) -> ::windows::runtime::Result<f64>12     pub unsafe fn GetDuration(&self) -> ::windows::runtime::Result<f64> {
13         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
14         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
15     }
GetFinalValue(&self) -> ::windows::runtime::Result<f64>16     pub unsafe fn GetFinalValue(&self) -> ::windows::runtime::Result<f64> {
17         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
18         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
19     }
InterpolateValue(&self, offset: f64) -> ::windows::runtime::Result<f64>20     pub unsafe fn InterpolateValue(&self, offset: f64) -> ::windows::runtime::Result<f64> {
21         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
22         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(offset), &mut result__).from_abi::<f64>(result__)
23     }
InterpolateVelocity(&self, offset: f64) -> ::windows::runtime::Result<f64>24     pub unsafe fn InterpolateVelocity(&self, offset: f64) -> ::windows::runtime::Result<f64> {
25         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
26         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(offset), &mut result__).from_abi::<f64>(result__)
27     }
GetDependencies(&self, initialvaluedependencies: *mut UI_ANIMATION_DEPENDENCIES, initialvelocitydependencies: *mut UI_ANIMATION_DEPENDENCIES, durationdependencies: *mut UI_ANIMATION_DEPENDENCIES) -> ::windows::runtime::Result<()>28     pub unsafe fn GetDependencies(&self, initialvaluedependencies: *mut UI_ANIMATION_DEPENDENCIES, initialvelocitydependencies: *mut UI_ANIMATION_DEPENDENCIES, durationdependencies: *mut UI_ANIMATION_DEPENDENCIES) -> ::windows::runtime::Result<()> {
29         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvaluedependencies), ::std::mem::transmute(initialvelocitydependencies), ::std::mem::transmute(durationdependencies)).ok()
30     }
31 }
32 unsafe impl ::windows::runtime::Interface for IUIAnimationInterpolator {
33     type Vtable = IUIAnimationInterpolator_abi;
34     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2014694330, 56823, 18316, [164, 108, 123, 108, 115, 139, 121, 120]);
35 }
36 impl ::std::convert::From<IUIAnimationInterpolator> for ::windows::runtime::IUnknown {
from(value: IUIAnimationInterpolator) -> Self37     fn from(value: IUIAnimationInterpolator) -> Self {
38         unsafe { ::std::mem::transmute(value) }
39     }
40 }
41 impl ::std::convert::From<&IUIAnimationInterpolator> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationInterpolator) -> Self42     fn from(value: &IUIAnimationInterpolator) -> Self {
43         ::std::convert::From::from(::std::clone::Clone::clone(value))
44     }
45 }
46 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationInterpolator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>47     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
48         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
49     }
50 }
51 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationInterpolator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>52     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
53         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
54     }
55 }
56 #[repr(C)]
57 #[doc(hidden)]
58 pub struct IUIAnimationInterpolator_abi(
59     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
60     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
61     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
62     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: f64, initialvelocity: f64) -> ::windows::runtime::HRESULT,
63     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64) -> ::windows::runtime::HRESULT,
64     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: *mut f64) -> ::windows::runtime::HRESULT,
65     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut f64) -> ::windows::runtime::HRESULT,
66     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: f64, value: *mut f64) -> ::windows::runtime::HRESULT,
67     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: f64, velocity: *mut f64) -> ::windows::runtime::HRESULT,
68     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvaluedependencies: *mut UI_ANIMATION_DEPENDENCIES, initialvelocitydependencies: *mut UI_ANIMATION_DEPENDENCIES, durationdependencies: *mut UI_ANIMATION_DEPENDENCIES) -> ::windows::runtime::HRESULT,
69 );
70 #[repr(transparent)]
71 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
72 pub struct IUIAnimationInterpolator2(::windows::runtime::IUnknown);
73 impl IUIAnimationInterpolator2 {
GetDimension(&self) -> ::windows::runtime::Result<u32>74     pub unsafe fn GetDimension(&self) -> ::windows::runtime::Result<u32> {
75         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
76         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
77     }
SetInitialValueAndVelocity(&self, initialvalue: *const f64, initialvelocity: *const f64, cdimension: u32) -> ::windows::runtime::Result<()>78     pub unsafe fn SetInitialValueAndVelocity(&self, initialvalue: *const f64, initialvelocity: *const f64, cdimension: u32) -> ::windows::runtime::Result<()> {
79         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(initialvelocity), ::std::mem::transmute(cdimension)).ok()
80     }
SetDuration(&self, duration: f64) -> ::windows::runtime::Result<()>81     pub unsafe fn SetDuration(&self, duration: f64) -> ::windows::runtime::Result<()> {
82         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration)).ok()
83     }
GetDuration(&self) -> ::windows::runtime::Result<f64>84     pub unsafe fn GetDuration(&self) -> ::windows::runtime::Result<f64> {
85         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
86         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
87     }
GetFinalValue(&self, value: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()>88     pub unsafe fn GetFinalValue(&self, value: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()> {
89         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(value), ::std::mem::transmute(cdimension)).ok()
90     }
InterpolateValue(&self, offset: f64, value: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()>91     pub unsafe fn InterpolateValue(&self, offset: f64, value: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()> {
92         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(offset), ::std::mem::transmute(value), ::std::mem::transmute(cdimension)).ok()
93     }
InterpolateVelocity(&self, offset: f64, velocity: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()>94     pub unsafe fn InterpolateVelocity(&self, offset: f64, velocity: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()> {
95         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(offset), ::std::mem::transmute(velocity), ::std::mem::transmute(cdimension)).ok()
96     }
GetPrimitiveInterpolation<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPrimitiveInterpolation>>(&self, interpolation: Param0, cdimension: u32) -> ::windows::runtime::Result<()>97     pub unsafe fn GetPrimitiveInterpolation<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPrimitiveInterpolation>>(&self, interpolation: Param0, cdimension: u32) -> ::windows::runtime::Result<()> {
98         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), interpolation.into_param().abi(), ::std::mem::transmute(cdimension)).ok()
99     }
GetDependencies(&self, initialvaluedependencies: *mut UI_ANIMATION_DEPENDENCIES, initialvelocitydependencies: *mut UI_ANIMATION_DEPENDENCIES, durationdependencies: *mut UI_ANIMATION_DEPENDENCIES) -> ::windows::runtime::Result<()>100     pub unsafe fn GetDependencies(&self, initialvaluedependencies: *mut UI_ANIMATION_DEPENDENCIES, initialvelocitydependencies: *mut UI_ANIMATION_DEPENDENCIES, durationdependencies: *mut UI_ANIMATION_DEPENDENCIES) -> ::windows::runtime::Result<()> {
101         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvaluedependencies), ::std::mem::transmute(initialvelocitydependencies), ::std::mem::transmute(durationdependencies)).ok()
102     }
103 }
104 unsafe impl ::windows::runtime::Interface for IUIAnimationInterpolator2 {
105     type Vtable = IUIAnimationInterpolator2_abi;
106     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3933646840, 59938, 18979, [160, 239, 166, 169, 102, 112, 53, 24]);
107 }
108 impl ::std::convert::From<IUIAnimationInterpolator2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationInterpolator2) -> Self109     fn from(value: IUIAnimationInterpolator2) -> Self {
110         unsafe { ::std::mem::transmute(value) }
111     }
112 }
113 impl ::std::convert::From<&IUIAnimationInterpolator2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationInterpolator2) -> Self114     fn from(value: &IUIAnimationInterpolator2) -> Self {
115         ::std::convert::From::from(::std::clone::Clone::clone(value))
116     }
117 }
118 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationInterpolator2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>119     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
120         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
121     }
122 }
123 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationInterpolator2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>124     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
125         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
126     }
127 }
128 #[repr(C)]
129 #[doc(hidden)]
130 pub struct IUIAnimationInterpolator2_abi(
131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dimension: *mut u32) -> ::windows::runtime::HRESULT,
135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: *const f64, initialvelocity: *const f64, cdimension: u32) -> ::windows::runtime::HRESULT,
136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64) -> ::windows::runtime::HRESULT,
137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: *mut f64) -> ::windows::runtime::HRESULT,
138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut f64, cdimension: u32) -> ::windows::runtime::HRESULT,
139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: f64, value: *mut f64, cdimension: u32) -> ::windows::runtime::HRESULT,
140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, offset: f64, velocity: *mut f64, cdimension: u32) -> ::windows::runtime::HRESULT,
141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, interpolation: ::windows::runtime::RawPtr, cdimension: u32) -> ::windows::runtime::HRESULT,
142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvaluedependencies: *mut UI_ANIMATION_DEPENDENCIES, initialvelocitydependencies: *mut UI_ANIMATION_DEPENDENCIES, durationdependencies: *mut UI_ANIMATION_DEPENDENCIES) -> ::windows::runtime::HRESULT,
143 );
144 #[repr(transparent)]
145 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
146 pub struct IUIAnimationLoopIterationChangeHandler2(::windows::runtime::IUnknown);
147 impl IUIAnimationLoopIterationChangeHandler2 {
OnLoopIterationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>>(&self, storyboard: Param0, id: usize, newiterationcount: u32, olditerationcount: u32) -> ::windows::runtime::Result<()>148     pub unsafe fn OnLoopIterationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>>(&self, storyboard: Param0, id: usize, newiterationcount: u32, olditerationcount: u32) -> ::windows::runtime::Result<()> {
149         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), storyboard.into_param().abi(), ::std::mem::transmute(id), ::std::mem::transmute(newiterationcount), ::std::mem::transmute(olditerationcount)).ok()
150     }
151 }
152 unsafe impl ::windows::runtime::Interface for IUIAnimationLoopIterationChangeHandler2 {
153     type Vtable = IUIAnimationLoopIterationChangeHandler2_abi;
154     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(758846884, 18274, 18347, [160, 48, 178, 50, 33, 223, 58, 224]);
155 }
156 impl ::std::convert::From<IUIAnimationLoopIterationChangeHandler2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationLoopIterationChangeHandler2) -> Self157     fn from(value: IUIAnimationLoopIterationChangeHandler2) -> Self {
158         unsafe { ::std::mem::transmute(value) }
159     }
160 }
161 impl ::std::convert::From<&IUIAnimationLoopIterationChangeHandler2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationLoopIterationChangeHandler2) -> Self162     fn from(value: &IUIAnimationLoopIterationChangeHandler2) -> Self {
163         ::std::convert::From::from(::std::clone::Clone::clone(value))
164     }
165 }
166 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationLoopIterationChangeHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>167     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
168         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
169     }
170 }
171 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationLoopIterationChangeHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>172     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
173         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
174     }
175 }
176 #[repr(C)]
177 #[doc(hidden)]
178 pub struct IUIAnimationLoopIterationChangeHandler2_abi(
179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: ::windows::runtime::RawPtr, id: usize, newiterationcount: u32, olditerationcount: u32) -> ::windows::runtime::HRESULT,
183 );
184 #[repr(transparent)]
185 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
186 pub struct IUIAnimationManager(::windows::runtime::IUnknown);
187 impl IUIAnimationManager {
CreateAnimationVariable(&self, initialvalue: f64) -> ::windows::runtime::Result<IUIAnimationVariable>188     pub unsafe fn CreateAnimationVariable(&self, initialvalue: f64) -> ::windows::runtime::Result<IUIAnimationVariable> {
189         let mut result__: <IUIAnimationVariable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
190         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), &mut result__).from_abi::<IUIAnimationVariable>(result__)
191     }
ScheduleTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>>(&self, variable: Param0, transition: Param1, timenow: f64) -> ::windows::runtime::Result<()>192     pub unsafe fn ScheduleTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>>(&self, variable: Param0, transition: Param1, timenow: f64) -> ::windows::runtime::Result<()> {
193         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), variable.into_param().abi(), transition.into_param().abi(), ::std::mem::transmute(timenow)).ok()
194     }
CreateStoryboard(&self) -> ::windows::runtime::Result<IUIAnimationStoryboard>195     pub unsafe fn CreateStoryboard(&self) -> ::windows::runtime::Result<IUIAnimationStoryboard> {
196         let mut result__: <IUIAnimationStoryboard as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
197         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAnimationStoryboard>(result__)
198     }
FinishAllStoryboards(&self, completiondeadline: f64) -> ::windows::runtime::Result<()>199     pub unsafe fn FinishAllStoryboards(&self, completiondeadline: f64) -> ::windows::runtime::Result<()> {
200         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(completiondeadline)).ok()
201     }
AbandonAllStoryboards(&self) -> ::windows::runtime::Result<()>202     pub unsafe fn AbandonAllStoryboards(&self) -> ::windows::runtime::Result<()> {
203         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
204     }
Update(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_UPDATE_RESULT>205     pub unsafe fn Update(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_UPDATE_RESULT> {
206         let mut result__: <UI_ANIMATION_UPDATE_RESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
207         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(timenow), &mut result__).from_abi::<UI_ANIMATION_UPDATE_RESULT>(result__)
208     }
GetVariableFromTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<IUIAnimationVariable>209     pub unsafe fn GetVariableFromTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<IUIAnimationVariable> {
210         let mut result__: <IUIAnimationVariable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
211         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(id), &mut result__).from_abi::<IUIAnimationVariable>(result__)
212     }
GetStoryboardFromTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<IUIAnimationStoryboard>213     pub unsafe fn GetStoryboardFromTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<IUIAnimationStoryboard> {
214         let mut result__: <IUIAnimationStoryboard as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
215         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(id), &mut result__).from_abi::<IUIAnimationStoryboard>(result__)
216     }
GetStatus(&self) -> ::windows::runtime::Result<UI_ANIMATION_MANAGER_STATUS>217     pub unsafe fn GetStatus(&self) -> ::windows::runtime::Result<UI_ANIMATION_MANAGER_STATUS> {
218         let mut result__: <UI_ANIMATION_MANAGER_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
219         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<UI_ANIMATION_MANAGER_STATUS>(result__)
220     }
SetAnimationMode(&self, mode: UI_ANIMATION_MODE) -> ::windows::runtime::Result<()>221     pub unsafe fn SetAnimationMode(&self, mode: UI_ANIMATION_MODE) -> ::windows::runtime::Result<()> {
222         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(mode)).ok()
223     }
Pause(&self) -> ::windows::runtime::Result<()>224     pub unsafe fn Pause(&self) -> ::windows::runtime::Result<()> {
225         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)).ok()
226     }
Resume(&self) -> ::windows::runtime::Result<()>227     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
228         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)).ok()
229     }
SetManagerEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationManagerEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()>230     pub unsafe fn SetManagerEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationManagerEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
231         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
232     }
SetCancelPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison>>(&self, comparison: Param0) -> ::windows::runtime::Result<()>233     pub unsafe fn SetCancelPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison>>(&self, comparison: Param0) -> ::windows::runtime::Result<()> {
234         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), comparison.into_param().abi()).ok()
235     }
SetTrimPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison>>(&self, comparison: Param0) -> ::windows::runtime::Result<()>236     pub unsafe fn SetTrimPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison>>(&self, comparison: Param0) -> ::windows::runtime::Result<()> {
237         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), comparison.into_param().abi()).ok()
238     }
SetCompressPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison>>(&self, comparison: Param0) -> ::windows::runtime::Result<()>239     pub unsafe fn SetCompressPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison>>(&self, comparison: Param0) -> ::windows::runtime::Result<()> {
240         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), comparison.into_param().abi()).ok()
241     }
SetConcludePriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison>>(&self, comparison: Param0) -> ::windows::runtime::Result<()>242     pub unsafe fn SetConcludePriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison>>(&self, comparison: Param0) -> ::windows::runtime::Result<()> {
243         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), comparison.into_param().abi()).ok()
244     }
SetDefaultLongestAcceptableDelay(&self, delay: f64) -> ::windows::runtime::Result<()>245     pub unsafe fn SetDefaultLongestAcceptableDelay(&self, delay: f64) -> ::windows::runtime::Result<()> {
246         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(delay)).ok()
247     }
Shutdown(&self) -> ::windows::runtime::Result<()>248     pub unsafe fn Shutdown(&self) -> ::windows::runtime::Result<()> {
249         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self)).ok()
250     }
251 }
252 unsafe impl ::windows::runtime::Interface for IUIAnimationManager {
253     type Vtable = IUIAnimationManager_abi;
254     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2439612780, 44173, 20093, [148, 229, 103, 250, 77, 194, 242, 232]);
255 }
256 impl ::std::convert::From<IUIAnimationManager> for ::windows::runtime::IUnknown {
from(value: IUIAnimationManager) -> Self257     fn from(value: IUIAnimationManager) -> Self {
258         unsafe { ::std::mem::transmute(value) }
259     }
260 }
261 impl ::std::convert::From<&IUIAnimationManager> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationManager) -> Self262     fn from(value: &IUIAnimationManager) -> Self {
263         ::std::convert::From::from(::std::clone::Clone::clone(value))
264     }
265 }
266 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>267     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
268         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
269     }
270 }
271 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>272     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
273         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
274     }
275 }
276 #[repr(C)]
277 #[doc(hidden)]
278 pub struct IUIAnimationManager_abi(
279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: f64, variable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr, timenow: f64) -> ::windows::runtime::HRESULT,
284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, completiondeadline: f64) -> ::windows::runtime::HRESULT,
286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timenow: f64, updateresult: *mut UI_ANIMATION_UPDATE_RESULT) -> ::windows::runtime::HRESULT,
288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, id: u32, variable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, id: u32, storyboard: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: *mut UI_ANIMATION_MANAGER_STATUS) -> ::windows::runtime::HRESULT,
291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: UI_ANIMATION_MODE) -> ::windows::runtime::HRESULT,
292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, comparison: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, comparison: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, comparison: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, comparison: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, delay: f64) -> ::windows::runtime::HRESULT,
300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
301 );
302 #[repr(transparent)]
303 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
304 pub struct IUIAnimationManager2(::windows::runtime::IUnknown);
305 impl IUIAnimationManager2 {
CreateAnimationVectorVariable(&self, initialvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationVariable2>306     pub unsafe fn CreateAnimationVectorVariable(&self, initialvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationVariable2> {
307         let mut result__: <IUIAnimationVariable2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
308         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), ::std::mem::transmute(cdimension), &mut result__).from_abi::<IUIAnimationVariable2>(result__)
309     }
CreateAnimationVariable(&self, initialvalue: f64) -> ::windows::runtime::Result<IUIAnimationVariable2>310     pub unsafe fn CreateAnimationVariable(&self, initialvalue: f64) -> ::windows::runtime::Result<IUIAnimationVariable2> {
311         let mut result__: <IUIAnimationVariable2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
312         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(initialvalue), &mut result__).from_abi::<IUIAnimationVariable2>(result__)
313     }
ScheduleTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>>(&self, variable: Param0, transition: Param1, timenow: f64) -> ::windows::runtime::Result<()>314     pub unsafe fn ScheduleTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>>(&self, variable: Param0, transition: Param1, timenow: f64) -> ::windows::runtime::Result<()> {
315         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), variable.into_param().abi(), transition.into_param().abi(), ::std::mem::transmute(timenow)).ok()
316     }
CreateStoryboard(&self) -> ::windows::runtime::Result<IUIAnimationStoryboard2>317     pub unsafe fn CreateStoryboard(&self) -> ::windows::runtime::Result<IUIAnimationStoryboard2> {
318         let mut result__: <IUIAnimationStoryboard2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
319         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAnimationStoryboard2>(result__)
320     }
FinishAllStoryboards(&self, completiondeadline: f64) -> ::windows::runtime::Result<()>321     pub unsafe fn FinishAllStoryboards(&self, completiondeadline: f64) -> ::windows::runtime::Result<()> {
322         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(completiondeadline)).ok()
323     }
AbandonAllStoryboards(&self) -> ::windows::runtime::Result<()>324     pub unsafe fn AbandonAllStoryboards(&self) -> ::windows::runtime::Result<()> {
325         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
326     }
Update(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_UPDATE_RESULT>327     pub unsafe fn Update(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_UPDATE_RESULT> {
328         let mut result__: <UI_ANIMATION_UPDATE_RESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
329         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(timenow), &mut result__).from_abi::<UI_ANIMATION_UPDATE_RESULT>(result__)
330     }
GetVariableFromTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<IUIAnimationVariable2>331     pub unsafe fn GetVariableFromTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<IUIAnimationVariable2> {
332         let mut result__: <IUIAnimationVariable2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
333         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(id), &mut result__).from_abi::<IUIAnimationVariable2>(result__)
334     }
GetStoryboardFromTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<IUIAnimationStoryboard2>335     pub unsafe fn GetStoryboardFromTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<IUIAnimationStoryboard2> {
336         let mut result__: <IUIAnimationStoryboard2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
337         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(id), &mut result__).from_abi::<IUIAnimationStoryboard2>(result__)
338     }
EstimateNextEventTime(&self) -> ::windows::runtime::Result<f64>339     pub unsafe fn EstimateNextEventTime(&self) -> ::windows::runtime::Result<f64> {
340         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
341         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
342     }
GetStatus(&self) -> ::windows::runtime::Result<UI_ANIMATION_MANAGER_STATUS>343     pub unsafe fn GetStatus(&self) -> ::windows::runtime::Result<UI_ANIMATION_MANAGER_STATUS> {
344         let mut result__: <UI_ANIMATION_MANAGER_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
345         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<UI_ANIMATION_MANAGER_STATUS>(result__)
346     }
SetAnimationMode(&self, mode: UI_ANIMATION_MODE) -> ::windows::runtime::Result<()>347     pub unsafe fn SetAnimationMode(&self, mode: UI_ANIMATION_MODE) -> ::windows::runtime::Result<()> {
348         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(mode)).ok()
349     }
Pause(&self) -> ::windows::runtime::Result<()>350     pub unsafe fn Pause(&self) -> ::windows::runtime::Result<()> {
351         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
352     }
Resume(&self) -> ::windows::runtime::Result<()>353     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
354         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self)).ok()
355     }
356     #[cfg(feature = "Win32_Foundation")]
SetManagerEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationManagerEventHandler2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, handler: Param0, fregisterfornextanimationevent: Param1) -> ::windows::runtime::Result<()>357     pub unsafe fn SetManagerEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationManagerEventHandler2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, handler: Param0, fregisterfornextanimationevent: Param1) -> ::windows::runtime::Result<()> {
358         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), handler.into_param().abi(), fregisterfornextanimationevent.into_param().abi()).ok()
359     }
SetCancelPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison2>>(&self, comparison: Param0) -> ::windows::runtime::Result<()>360     pub unsafe fn SetCancelPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison2>>(&self, comparison: Param0) -> ::windows::runtime::Result<()> {
361         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), comparison.into_param().abi()).ok()
362     }
SetTrimPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison2>>(&self, comparison: Param0) -> ::windows::runtime::Result<()>363     pub unsafe fn SetTrimPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison2>>(&self, comparison: Param0) -> ::windows::runtime::Result<()> {
364         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), comparison.into_param().abi()).ok()
365     }
SetCompressPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison2>>(&self, comparison: Param0) -> ::windows::runtime::Result<()>366     pub unsafe fn SetCompressPriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison2>>(&self, comparison: Param0) -> ::windows::runtime::Result<()> {
367         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), comparison.into_param().abi()).ok()
368     }
SetConcludePriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison2>>(&self, comparison: Param0) -> ::windows::runtime::Result<()>369     pub unsafe fn SetConcludePriorityComparison<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationPriorityComparison2>>(&self, comparison: Param0) -> ::windows::runtime::Result<()> {
370         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), comparison.into_param().abi()).ok()
371     }
SetDefaultLongestAcceptableDelay(&self, delay: f64) -> ::windows::runtime::Result<()>372     pub unsafe fn SetDefaultLongestAcceptableDelay(&self, delay: f64) -> ::windows::runtime::Result<()> {
373         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(delay)).ok()
374     }
Shutdown(&self) -> ::windows::runtime::Result<()>375     pub unsafe fn Shutdown(&self) -> ::windows::runtime::Result<()> {
376         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self)).ok()
377     }
378 }
379 unsafe impl ::windows::runtime::Interface for IUIAnimationManager2 {
380     type Vtable = IUIAnimationManager2_abi;
381     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3635869652, 16649, 19775, [172, 238, 135, 153, 38, 150, 140, 177]);
382 }
383 impl ::std::convert::From<IUIAnimationManager2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationManager2) -> Self384     fn from(value: IUIAnimationManager2) -> Self {
385         unsafe { ::std::mem::transmute(value) }
386     }
387 }
388 impl ::std::convert::From<&IUIAnimationManager2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationManager2) -> Self389     fn from(value: &IUIAnimationManager2) -> Self {
390         ::std::convert::From::from(::std::clone::Clone::clone(value))
391     }
392 }
393 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationManager2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>394     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
395         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
396     }
397 }
398 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationManager2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>399     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
400         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
401     }
402 }
403 #[repr(C)]
404 #[doc(hidden)]
405 pub struct IUIAnimationManager2_abi(
406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: *const f64, cdimension: u32, variable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, initialvalue: f64, variable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr, timenow: f64) -> ::windows::runtime::HRESULT,
412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, completiondeadline: f64) -> ::windows::runtime::HRESULT,
414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timenow: f64, updateresult: *mut UI_ANIMATION_UPDATE_RESULT) -> ::windows::runtime::HRESULT,
416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, id: u32, variable: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, id: u32, storyboard: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut f64) -> ::windows::runtime::HRESULT,
419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: *mut UI_ANIMATION_MANAGER_STATUS) -> ::windows::runtime::HRESULT,
420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: UI_ANIMATION_MODE) -> ::windows::runtime::HRESULT,
421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
423     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, fregisterfornextanimationevent: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
424     #[cfg(not(feature = "Win32_Foundation"))] usize,
425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, comparison: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, comparison: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, comparison: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, comparison: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, delay: f64) -> ::windows::runtime::HRESULT,
430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
431 );
432 #[repr(transparent)]
433 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
434 pub struct IUIAnimationManagerEventHandler(::windows::runtime::IUnknown);
435 impl IUIAnimationManagerEventHandler {
OnManagerStatusChanged(&self, newstatus: UI_ANIMATION_MANAGER_STATUS, previousstatus: UI_ANIMATION_MANAGER_STATUS) -> ::windows::runtime::Result<()>436     pub unsafe fn OnManagerStatusChanged(&self, newstatus: UI_ANIMATION_MANAGER_STATUS, previousstatus: UI_ANIMATION_MANAGER_STATUS) -> ::windows::runtime::Result<()> {
437         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(newstatus), ::std::mem::transmute(previousstatus)).ok()
438     }
439 }
440 unsafe impl ::windows::runtime::Interface for IUIAnimationManagerEventHandler {
441     type Vtable = IUIAnimationManagerEventHandler_abi;
442     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2016616941, 30883, 17254, [181, 116, 106, 246, 7, 166, 71, 136]);
443 }
444 impl ::std::convert::From<IUIAnimationManagerEventHandler> for ::windows::runtime::IUnknown {
from(value: IUIAnimationManagerEventHandler) -> Self445     fn from(value: IUIAnimationManagerEventHandler) -> Self {
446         unsafe { ::std::mem::transmute(value) }
447     }
448 }
449 impl ::std::convert::From<&IUIAnimationManagerEventHandler> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationManagerEventHandler) -> Self450     fn from(value: &IUIAnimationManagerEventHandler) -> Self {
451         ::std::convert::From::from(::std::clone::Clone::clone(value))
452     }
453 }
454 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationManagerEventHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>455     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
456         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
457     }
458 }
459 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationManagerEventHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>460     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
461         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
462     }
463 }
464 #[repr(C)]
465 #[doc(hidden)]
466 pub struct IUIAnimationManagerEventHandler_abi(
467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newstatus: UI_ANIMATION_MANAGER_STATUS, previousstatus: UI_ANIMATION_MANAGER_STATUS) -> ::windows::runtime::HRESULT,
471 );
472 #[repr(transparent)]
473 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
474 pub struct IUIAnimationManagerEventHandler2(::windows::runtime::IUnknown);
475 impl IUIAnimationManagerEventHandler2 {
OnManagerStatusChanged(&self, newstatus: UI_ANIMATION_MANAGER_STATUS, previousstatus: UI_ANIMATION_MANAGER_STATUS) -> ::windows::runtime::Result<()>476     pub unsafe fn OnManagerStatusChanged(&self, newstatus: UI_ANIMATION_MANAGER_STATUS, previousstatus: UI_ANIMATION_MANAGER_STATUS) -> ::windows::runtime::Result<()> {
477         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(newstatus), ::std::mem::transmute(previousstatus)).ok()
478     }
479 }
480 unsafe impl ::windows::runtime::Interface for IUIAnimationManagerEventHandler2 {
481     type Vtable = IUIAnimationManagerEventHandler2_abi;
482     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4141884090, 49139, 17132, [144, 51, 224, 115, 243, 62, 131, 195]);
483 }
484 impl ::std::convert::From<IUIAnimationManagerEventHandler2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationManagerEventHandler2) -> Self485     fn from(value: IUIAnimationManagerEventHandler2) -> Self {
486         unsafe { ::std::mem::transmute(value) }
487     }
488 }
489 impl ::std::convert::From<&IUIAnimationManagerEventHandler2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationManagerEventHandler2) -> Self490     fn from(value: &IUIAnimationManagerEventHandler2) -> Self {
491         ::std::convert::From::from(::std::clone::Clone::clone(value))
492     }
493 }
494 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationManagerEventHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>495     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
496         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
497     }
498 }
499 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationManagerEventHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>500     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
501         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
502     }
503 }
504 #[repr(C)]
505 #[doc(hidden)]
506 pub struct IUIAnimationManagerEventHandler2_abi(
507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newstatus: UI_ANIMATION_MANAGER_STATUS, previousstatus: UI_ANIMATION_MANAGER_STATUS) -> ::windows::runtime::HRESULT,
511 );
512 #[repr(transparent)]
513 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
514 pub struct IUIAnimationPrimitiveInterpolation(::windows::runtime::IUnknown);
515 impl IUIAnimationPrimitiveInterpolation {
AddCubic(&self, dimension: u32, beginoffset: f64, constantcoefficient: f32, linearcoefficient: f32, quadraticcoefficient: f32, cubiccoefficient: f32) -> ::windows::runtime::Result<()>516     pub unsafe fn AddCubic(&self, dimension: u32, beginoffset: f64, constantcoefficient: f32, linearcoefficient: f32, quadraticcoefficient: f32, cubiccoefficient: f32) -> ::windows::runtime::Result<()> {
517         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dimension), ::std::mem::transmute(beginoffset), ::std::mem::transmute(constantcoefficient), ::std::mem::transmute(linearcoefficient), ::std::mem::transmute(quadraticcoefficient), ::std::mem::transmute(cubiccoefficient)).ok()
518     }
AddSinusoidal(&self, dimension: u32, beginoffset: f64, bias: f32, amplitude: f32, frequency: f32, phase: f32) -> ::windows::runtime::Result<()>519     pub unsafe fn AddSinusoidal(&self, dimension: u32, beginoffset: f64, bias: f32, amplitude: f32, frequency: f32, phase: f32) -> ::windows::runtime::Result<()> {
520         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dimension), ::std::mem::transmute(beginoffset), ::std::mem::transmute(bias), ::std::mem::transmute(amplitude), ::std::mem::transmute(frequency), ::std::mem::transmute(phase)).ok()
521     }
522 }
523 unsafe impl ::windows::runtime::Interface for IUIAnimationPrimitiveInterpolation {
524     type Vtable = IUIAnimationPrimitiveInterpolation_abi;
525     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3132231011, 17249, 17882, [162, 79, 171, 133, 8, 132, 107, 91]);
526 }
527 impl ::std::convert::From<IUIAnimationPrimitiveInterpolation> for ::windows::runtime::IUnknown {
from(value: IUIAnimationPrimitiveInterpolation) -> Self528     fn from(value: IUIAnimationPrimitiveInterpolation) -> Self {
529         unsafe { ::std::mem::transmute(value) }
530     }
531 }
532 impl ::std::convert::From<&IUIAnimationPrimitiveInterpolation> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationPrimitiveInterpolation) -> Self533     fn from(value: &IUIAnimationPrimitiveInterpolation) -> Self {
534         ::std::convert::From::from(::std::clone::Clone::clone(value))
535     }
536 }
537 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationPrimitiveInterpolation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>538     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
539         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
540     }
541 }
542 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationPrimitiveInterpolation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>543     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
544         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
545     }
546 }
547 #[repr(C)]
548 #[doc(hidden)]
549 pub struct IUIAnimationPrimitiveInterpolation_abi(
550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dimension: u32, beginoffset: f64, constantcoefficient: f32, linearcoefficient: f32, quadraticcoefficient: f32, cubiccoefficient: f32) -> ::windows::runtime::HRESULT,
554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dimension: u32, beginoffset: f64, bias: f32, amplitude: f32, frequency: f32, phase: f32) -> ::windows::runtime::HRESULT,
555 );
556 #[repr(transparent)]
557 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
558 pub struct IUIAnimationPriorityComparison(::windows::runtime::IUnknown);
559 impl IUIAnimationPriorityComparison {
HasPriority<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>>(&self, scheduledstoryboard: Param0, newstoryboard: Param1, priorityeffect: UI_ANIMATION_PRIORITY_EFFECT) -> ::windows::runtime::Result<()>560     pub unsafe fn HasPriority<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>>(&self, scheduledstoryboard: Param0, newstoryboard: Param1, priorityeffect: UI_ANIMATION_PRIORITY_EFFECT) -> ::windows::runtime::Result<()> {
561         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), scheduledstoryboard.into_param().abi(), newstoryboard.into_param().abi(), ::std::mem::transmute(priorityeffect)).ok()
562     }
563 }
564 unsafe impl ::windows::runtime::Interface for IUIAnimationPriorityComparison {
565     type Vtable = IUIAnimationPriorityComparison_abi;
566     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2214239092, 24454, 17944, [188, 106, 162, 250, 193, 155, 63, 68]);
567 }
568 impl ::std::convert::From<IUIAnimationPriorityComparison> for ::windows::runtime::IUnknown {
from(value: IUIAnimationPriorityComparison) -> Self569     fn from(value: IUIAnimationPriorityComparison) -> Self {
570         unsafe { ::std::mem::transmute(value) }
571     }
572 }
573 impl ::std::convert::From<&IUIAnimationPriorityComparison> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationPriorityComparison) -> Self574     fn from(value: &IUIAnimationPriorityComparison) -> Self {
575         ::std::convert::From::from(::std::clone::Clone::clone(value))
576     }
577 }
578 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationPriorityComparison {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>579     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
580         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
581     }
582 }
583 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationPriorityComparison {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>584     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
585         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
586     }
587 }
588 #[repr(C)]
589 #[doc(hidden)]
590 pub struct IUIAnimationPriorityComparison_abi(
591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scheduledstoryboard: ::windows::runtime::RawPtr, newstoryboard: ::windows::runtime::RawPtr, priorityeffect: UI_ANIMATION_PRIORITY_EFFECT) -> ::windows::runtime::HRESULT,
595 );
596 #[repr(transparent)]
597 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
598 pub struct IUIAnimationPriorityComparison2(::windows::runtime::IUnknown);
599 impl IUIAnimationPriorityComparison2 {
HasPriority<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>>(&self, scheduledstoryboard: Param0, newstoryboard: Param1, priorityeffect: UI_ANIMATION_PRIORITY_EFFECT) -> ::windows::runtime::Result<()>600     pub unsafe fn HasPriority<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>>(&self, scheduledstoryboard: Param0, newstoryboard: Param1, priorityeffect: UI_ANIMATION_PRIORITY_EFFECT) -> ::windows::runtime::Result<()> {
601         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), scheduledstoryboard.into_param().abi(), newstoryboard.into_param().abi(), ::std::mem::transmute(priorityeffect)).ok()
602     }
603 }
604 unsafe impl ::windows::runtime::Interface for IUIAnimationPriorityComparison2 {
605     type Vtable = IUIAnimationPriorityComparison2_abi;
606     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1533901367, 17953, 18044, [139, 5, 112, 19, 29, 230, 45, 219]);
607 }
608 impl ::std::convert::From<IUIAnimationPriorityComparison2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationPriorityComparison2) -> Self609     fn from(value: IUIAnimationPriorityComparison2) -> Self {
610         unsafe { ::std::mem::transmute(value) }
611     }
612 }
613 impl ::std::convert::From<&IUIAnimationPriorityComparison2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationPriorityComparison2) -> Self614     fn from(value: &IUIAnimationPriorityComparison2) -> Self {
615         ::std::convert::From::from(::std::clone::Clone::clone(value))
616     }
617 }
618 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationPriorityComparison2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>619     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
620         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
621     }
622 }
623 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationPriorityComparison2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>624     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
625         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
626     }
627 }
628 #[repr(C)]
629 #[doc(hidden)]
630 pub struct IUIAnimationPriorityComparison2_abi(
631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scheduledstoryboard: ::windows::runtime::RawPtr, newstoryboard: ::windows::runtime::RawPtr, priorityeffect: UI_ANIMATION_PRIORITY_EFFECT) -> ::windows::runtime::HRESULT,
635 );
636 #[repr(transparent)]
637 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
638 pub struct IUIAnimationStoryboard(::windows::runtime::IUnknown);
639 impl IUIAnimationStoryboard {
AddTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>>(&self, variable: Param0, transition: Param1) -> ::windows::runtime::Result<()>640     pub unsafe fn AddTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>>(&self, variable: Param0, transition: Param1) -> ::windows::runtime::Result<()> {
641         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), variable.into_param().abi(), transition.into_param().abi()).ok()
642     }
AddKeyframeAtOffset<'a, Param0: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, existingkeyframe: Param0, offset: f64) -> ::windows::runtime::Result<UI_ANIMATION_KEYFRAME>643     pub unsafe fn AddKeyframeAtOffset<'a, Param0: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, existingkeyframe: Param0, offset: f64) -> ::windows::runtime::Result<UI_ANIMATION_KEYFRAME> {
644         let mut result__: <UI_ANIMATION_KEYFRAME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
645         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), existingkeyframe.into_param().abi(), ::std::mem::transmute(offset), &mut result__).from_abi::<UI_ANIMATION_KEYFRAME>(result__)
646     }
AddKeyframeAfterTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>>(&self, transition: Param0) -> ::windows::runtime::Result<UI_ANIMATION_KEYFRAME>647     pub unsafe fn AddKeyframeAfterTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>>(&self, transition: Param0) -> ::windows::runtime::Result<UI_ANIMATION_KEYFRAME> {
648         let mut result__: <UI_ANIMATION_KEYFRAME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
649         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), transition.into_param().abi(), &mut result__).from_abi::<UI_ANIMATION_KEYFRAME>(result__)
650     }
AddTransitionAtKeyframe<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>, Param2: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, variable: Param0, transition: Param1, startkeyframe: Param2) -> ::windows::runtime::Result<()>651     pub unsafe fn AddTransitionAtKeyframe<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>, Param2: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, variable: Param0, transition: Param1, startkeyframe: Param2) -> ::windows::runtime::Result<()> {
652         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), variable.into_param().abi(), transition.into_param().abi(), startkeyframe.into_param().abi()).ok()
653     }
AddTransitionBetweenKeyframes<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>, Param2: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param3: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, variable: Param0, transition: Param1, startkeyframe: Param2, endkeyframe: Param3) -> ::windows::runtime::Result<()>654     pub unsafe fn AddTransitionBetweenKeyframes<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition>, Param2: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param3: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, variable: Param0, transition: Param1, startkeyframe: Param2, endkeyframe: Param3) -> ::windows::runtime::Result<()> {
655         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), variable.into_param().abi(), transition.into_param().abi(), startkeyframe.into_param().abi(), endkeyframe.into_param().abi()).ok()
656     }
RepeatBetweenKeyframes<'a, Param0: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param1: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, startkeyframe: Param0, endkeyframe: Param1, repetitioncount: i32) -> ::windows::runtime::Result<()>657     pub unsafe fn RepeatBetweenKeyframes<'a, Param0: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param1: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, startkeyframe: Param0, endkeyframe: Param1, repetitioncount: i32) -> ::windows::runtime::Result<()> {
658         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), startkeyframe.into_param().abi(), endkeyframe.into_param().abi(), ::std::mem::transmute(repetitioncount)).ok()
659     }
HoldVariable<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>>(&self, variable: Param0) -> ::windows::runtime::Result<()>660     pub unsafe fn HoldVariable<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>>(&self, variable: Param0) -> ::windows::runtime::Result<()> {
661         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), variable.into_param().abi()).ok()
662     }
SetLongestAcceptableDelay(&self, delay: f64) -> ::windows::runtime::Result<()>663     pub unsafe fn SetLongestAcceptableDelay(&self, delay: f64) -> ::windows::runtime::Result<()> {
664         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(delay)).ok()
665     }
Schedule(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_SCHEDULING_RESULT>666     pub unsafe fn Schedule(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_SCHEDULING_RESULT> {
667         let mut result__: <UI_ANIMATION_SCHEDULING_RESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
668         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(timenow), &mut result__).from_abi::<UI_ANIMATION_SCHEDULING_RESULT>(result__)
669     }
Conclude(&self) -> ::windows::runtime::Result<()>670     pub unsafe fn Conclude(&self) -> ::windows::runtime::Result<()> {
671         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)).ok()
672     }
Finish(&self, completiondeadline: f64) -> ::windows::runtime::Result<()>673     pub unsafe fn Finish(&self, completiondeadline: f64) -> ::windows::runtime::Result<()> {
674         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(completiondeadline)).ok()
675     }
Abandon(&self) -> ::windows::runtime::Result<()>676     pub unsafe fn Abandon(&self) -> ::windows::runtime::Result<()> {
677         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)).ok()
678     }
SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<()>679     pub unsafe fn SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<()> {
680         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(id)).ok()
681     }
GetTag(&self, object: *mut ::std::option::Option<::windows::runtime::IUnknown>, id: *mut u32) -> ::windows::runtime::Result<()>682     pub unsafe fn GetTag(&self, object: *mut ::std::option::Option<::windows::runtime::IUnknown>, id: *mut u32) -> ::windows::runtime::Result<()> {
683         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(object), ::std::mem::transmute(id)).ok()
684     }
GetStatus(&self) -> ::windows::runtime::Result<UI_ANIMATION_STORYBOARD_STATUS>685     pub unsafe fn GetStatus(&self) -> ::windows::runtime::Result<UI_ANIMATION_STORYBOARD_STATUS> {
686         let mut result__: <UI_ANIMATION_STORYBOARD_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
687         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<UI_ANIMATION_STORYBOARD_STATUS>(result__)
688     }
GetElapsedTime(&self) -> ::windows::runtime::Result<f64>689     pub unsafe fn GetElapsedTime(&self) -> ::windows::runtime::Result<f64> {
690         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
691         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
692     }
SetStoryboardEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboardEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()>693     pub unsafe fn SetStoryboardEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboardEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
694         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
695     }
696 }
697 unsafe impl ::windows::runtime::Interface for IUIAnimationStoryboard {
698     type Vtable = IUIAnimationStoryboard_abi;
699     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2835288719, 39929, 19185, [158, 103, 229, 228, 16, 222, 251, 132]);
700 }
701 impl ::std::convert::From<IUIAnimationStoryboard> for ::windows::runtime::IUnknown {
from(value: IUIAnimationStoryboard) -> Self702     fn from(value: IUIAnimationStoryboard) -> Self {
703         unsafe { ::std::mem::transmute(value) }
704     }
705 }
706 impl ::std::convert::From<&IUIAnimationStoryboard> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationStoryboard) -> Self707     fn from(value: &IUIAnimationStoryboard) -> Self {
708         ::std::convert::From::from(::std::clone::Clone::clone(value))
709     }
710 }
711 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationStoryboard {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>712     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
713         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
714     }
715 }
716 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationStoryboard {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>717     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
718         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
719     }
720 }
721 #[repr(C)]
722 #[doc(hidden)]
723 pub struct IUIAnimationStoryboard_abi(
724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, existingkeyframe: UI_ANIMATION_KEYFRAME, offset: f64, keyframe: *mut UI_ANIMATION_KEYFRAME) -> ::windows::runtime::HRESULT,
729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr, keyframe: *mut UI_ANIMATION_KEYFRAME) -> ::windows::runtime::HRESULT,
730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr, startkeyframe: UI_ANIMATION_KEYFRAME) -> ::windows::runtime::HRESULT,
731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr, startkeyframe: UI_ANIMATION_KEYFRAME, endkeyframe: UI_ANIMATION_KEYFRAME) -> ::windows::runtime::HRESULT,
732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startkeyframe: UI_ANIMATION_KEYFRAME, endkeyframe: UI_ANIMATION_KEYFRAME, repetitioncount: i32) -> ::windows::runtime::HRESULT,
733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, delay: f64) -> ::windows::runtime::HRESULT,
735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timenow: f64, schedulingresult: *mut UI_ANIMATION_SCHEDULING_RESULT) -> ::windows::runtime::HRESULT,
736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, completiondeadline: f64) -> ::windows::runtime::HRESULT,
738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, id: u32) -> ::windows::runtime::HRESULT,
740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: *mut ::windows::runtime::RawPtr, id: *mut u32) -> ::windows::runtime::HRESULT,
741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: *mut UI_ANIMATION_STORYBOARD_STATUS) -> ::windows::runtime::HRESULT,
742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, elapsedtime: *mut f64) -> ::windows::runtime::HRESULT,
743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
744 );
745 #[repr(transparent)]
746 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
747 pub struct IUIAnimationStoryboard2(::windows::runtime::IUnknown);
748 impl IUIAnimationStoryboard2 {
AddTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>>(&self, variable: Param0, transition: Param1) -> ::windows::runtime::Result<()>749     pub unsafe fn AddTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>>(&self, variable: Param0, transition: Param1) -> ::windows::runtime::Result<()> {
750         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), variable.into_param().abi(), transition.into_param().abi()).ok()
751     }
AddKeyframeAtOffset<'a, Param0: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, existingkeyframe: Param0, offset: f64) -> ::windows::runtime::Result<UI_ANIMATION_KEYFRAME>752     pub unsafe fn AddKeyframeAtOffset<'a, Param0: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, existingkeyframe: Param0, offset: f64) -> ::windows::runtime::Result<UI_ANIMATION_KEYFRAME> {
753         let mut result__: <UI_ANIMATION_KEYFRAME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
754         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), existingkeyframe.into_param().abi(), ::std::mem::transmute(offset), &mut result__).from_abi::<UI_ANIMATION_KEYFRAME>(result__)
755     }
AddKeyframeAfterTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>>(&self, transition: Param0) -> ::windows::runtime::Result<UI_ANIMATION_KEYFRAME>756     pub unsafe fn AddKeyframeAfterTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>>(&self, transition: Param0) -> ::windows::runtime::Result<UI_ANIMATION_KEYFRAME> {
757         let mut result__: <UI_ANIMATION_KEYFRAME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
758         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), transition.into_param().abi(), &mut result__).from_abi::<UI_ANIMATION_KEYFRAME>(result__)
759     }
AddTransitionAtKeyframe<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>, Param2: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, variable: Param0, transition: Param1, startkeyframe: Param2) -> ::windows::runtime::Result<()>760     pub unsafe fn AddTransitionAtKeyframe<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>, Param2: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, variable: Param0, transition: Param1, startkeyframe: Param2) -> ::windows::runtime::Result<()> {
761         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), variable.into_param().abi(), transition.into_param().abi(), startkeyframe.into_param().abi()).ok()
762     }
AddTransitionBetweenKeyframes<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>, Param2: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param3: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, variable: Param0, transition: Param1, startkeyframe: Param2, endkeyframe: Param3) -> ::windows::runtime::Result<()>763     pub unsafe fn AddTransitionBetweenKeyframes<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationTransition2>, Param2: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param3: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>>(&self, variable: Param0, transition: Param1, startkeyframe: Param2, endkeyframe: Param3) -> ::windows::runtime::Result<()> {
764         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), variable.into_param().abi(), transition.into_param().abi(), startkeyframe.into_param().abi(), endkeyframe.into_param().abi()).ok()
765     }
766     #[cfg(feature = "Win32_Foundation")]
RepeatBetweenKeyframes<'a, Param0: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param1: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param4: ::windows::runtime::IntoParam<'a, IUIAnimationLoopIterationChangeHandler2>, Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>( &self, startkeyframe: Param0, endkeyframe: Param1, crepetition: f64, repeatmode: UI_ANIMATION_REPEAT_MODE, piterationchangehandler: Param4, id: usize, fregisterfornextanimationevent: Param6, ) -> ::windows::runtime::Result<()>767     pub unsafe fn RepeatBetweenKeyframes<'a, Param0: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param1: ::windows::runtime::IntoParam<'a, UI_ANIMATION_KEYFRAME>, Param4: ::windows::runtime::IntoParam<'a, IUIAnimationLoopIterationChangeHandler2>, Param6: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(
768         &self,
769         startkeyframe: Param0,
770         endkeyframe: Param1,
771         crepetition: f64,
772         repeatmode: UI_ANIMATION_REPEAT_MODE,
773         piterationchangehandler: Param4,
774         id: usize,
775         fregisterfornextanimationevent: Param6,
776     ) -> ::windows::runtime::Result<()> {
777         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), startkeyframe.into_param().abi(), endkeyframe.into_param().abi(), ::std::mem::transmute(crepetition), ::std::mem::transmute(repeatmode), piterationchangehandler.into_param().abi(), ::std::mem::transmute(id), fregisterfornextanimationevent.into_param().abi()).ok()
778     }
HoldVariable<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>>(&self, variable: Param0) -> ::windows::runtime::Result<()>779     pub unsafe fn HoldVariable<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>>(&self, variable: Param0) -> ::windows::runtime::Result<()> {
780         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), variable.into_param().abi()).ok()
781     }
SetLongestAcceptableDelay(&self, delay: f64) -> ::windows::runtime::Result<()>782     pub unsafe fn SetLongestAcceptableDelay(&self, delay: f64) -> ::windows::runtime::Result<()> {
783         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(delay)).ok()
784     }
SetSkipDuration(&self, secondsduration: f64) -> ::windows::runtime::Result<()>785     pub unsafe fn SetSkipDuration(&self, secondsduration: f64) -> ::windows::runtime::Result<()> {
786         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(secondsduration)).ok()
787     }
Schedule(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_SCHEDULING_RESULT>788     pub unsafe fn Schedule(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_SCHEDULING_RESULT> {
789         let mut result__: <UI_ANIMATION_SCHEDULING_RESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
790         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(timenow), &mut result__).from_abi::<UI_ANIMATION_SCHEDULING_RESULT>(result__)
791     }
Conclude(&self) -> ::windows::runtime::Result<()>792     pub unsafe fn Conclude(&self) -> ::windows::runtime::Result<()> {
793         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)).ok()
794     }
Finish(&self, completiondeadline: f64) -> ::windows::runtime::Result<()>795     pub unsafe fn Finish(&self, completiondeadline: f64) -> ::windows::runtime::Result<()> {
796         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(completiondeadline)).ok()
797     }
Abandon(&self) -> ::windows::runtime::Result<()>798     pub unsafe fn Abandon(&self) -> ::windows::runtime::Result<()> {
799         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self)).ok()
800     }
SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<()>801     pub unsafe fn SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<()> {
802         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(id)).ok()
803     }
GetTag(&self, object: *mut ::std::option::Option<::windows::runtime::IUnknown>, id: *mut u32) -> ::windows::runtime::Result<()>804     pub unsafe fn GetTag(&self, object: *mut ::std::option::Option<::windows::runtime::IUnknown>, id: *mut u32) -> ::windows::runtime::Result<()> {
805         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(object), ::std::mem::transmute(id)).ok()
806     }
GetStatus(&self) -> ::windows::runtime::Result<UI_ANIMATION_STORYBOARD_STATUS>807     pub unsafe fn GetStatus(&self) -> ::windows::runtime::Result<UI_ANIMATION_STORYBOARD_STATUS> {
808         let mut result__: <UI_ANIMATION_STORYBOARD_STATUS as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
809         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<UI_ANIMATION_STORYBOARD_STATUS>(result__)
810     }
GetElapsedTime(&self) -> ::windows::runtime::Result<f64>811     pub unsafe fn GetElapsedTime(&self) -> ::windows::runtime::Result<f64> {
812         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
813         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
814     }
815     #[cfg(feature = "Win32_Foundation")]
SetStoryboardEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboardEventHandler2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, handler: Param0, fregisterstatuschangefornextanimationevent: Param1, fregisterupdatefornextanimationevent: Param2) -> ::windows::runtime::Result<()>816     pub unsafe fn SetStoryboardEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboardEventHandler2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, handler: Param0, fregisterstatuschangefornextanimationevent: Param1, fregisterupdatefornextanimationevent: Param2) -> ::windows::runtime::Result<()> {
817         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), handler.into_param().abi(), fregisterstatuschangefornextanimationevent.into_param().abi(), fregisterupdatefornextanimationevent.into_param().abi()).ok()
818     }
819 }
820 unsafe impl ::windows::runtime::Interface for IUIAnimationStoryboard2 {
821     type Vtable = IUIAnimationStoryboard2_abi;
822     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2921897170, 4820, 18757, [148, 25, 158, 65, 190, 3, 77, 242]);
823 }
824 impl ::std::convert::From<IUIAnimationStoryboard2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationStoryboard2) -> Self825     fn from(value: IUIAnimationStoryboard2) -> Self {
826         unsafe { ::std::mem::transmute(value) }
827     }
828 }
829 impl ::std::convert::From<&IUIAnimationStoryboard2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationStoryboard2) -> Self830     fn from(value: &IUIAnimationStoryboard2) -> Self {
831         ::std::convert::From::from(::std::clone::Clone::clone(value))
832     }
833 }
834 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationStoryboard2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>835     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
836         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
837     }
838 }
839 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationStoryboard2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>840     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
841         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
842     }
843 }
844 #[repr(C)]
845 #[doc(hidden)]
846 pub struct IUIAnimationStoryboard2_abi(
847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, existingkeyframe: UI_ANIMATION_KEYFRAME, offset: f64, keyframe: *mut UI_ANIMATION_KEYFRAME) -> ::windows::runtime::HRESULT,
852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr, keyframe: *mut UI_ANIMATION_KEYFRAME) -> ::windows::runtime::HRESULT,
853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr, startkeyframe: UI_ANIMATION_KEYFRAME) -> ::windows::runtime::HRESULT,
854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, transition: ::windows::runtime::RawPtr, startkeyframe: UI_ANIMATION_KEYFRAME, endkeyframe: UI_ANIMATION_KEYFRAME) -> ::windows::runtime::HRESULT,
855     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startkeyframe: UI_ANIMATION_KEYFRAME, endkeyframe: UI_ANIMATION_KEYFRAME, crepetition: f64, repeatmode: UI_ANIMATION_REPEAT_MODE, piterationchangehandler: ::windows::runtime::RawPtr, id: usize, fregisterfornextanimationevent: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
856     #[cfg(not(feature = "Win32_Foundation"))] usize,
857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, delay: f64) -> ::windows::runtime::HRESULT,
859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, secondsduration: f64) -> ::windows::runtime::HRESULT,
860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timenow: f64, schedulingresult: *mut UI_ANIMATION_SCHEDULING_RESULT) -> ::windows::runtime::HRESULT,
861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, completiondeadline: f64) -> ::windows::runtime::HRESULT,
863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, id: u32) -> ::windows::runtime::HRESULT,
865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: *mut ::windows::runtime::RawPtr, id: *mut u32) -> ::windows::runtime::HRESULT,
866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, status: *mut UI_ANIMATION_STORYBOARD_STATUS) -> ::windows::runtime::HRESULT,
867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, elapsedtime: *mut f64) -> ::windows::runtime::HRESULT,
868     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, fregisterstatuschangefornextanimationevent: super::super::Foundation::BOOL, fregisterupdatefornextanimationevent: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
869     #[cfg(not(feature = "Win32_Foundation"))] usize,
870 );
871 #[repr(transparent)]
872 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
873 pub struct IUIAnimationStoryboardEventHandler(::windows::runtime::IUnknown);
874 impl IUIAnimationStoryboardEventHandler {
OnStoryboardStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>>(&self, storyboard: Param0, newstatus: UI_ANIMATION_STORYBOARD_STATUS, previousstatus: UI_ANIMATION_STORYBOARD_STATUS) -> ::windows::runtime::Result<()>875     pub unsafe fn OnStoryboardStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>>(&self, storyboard: Param0, newstatus: UI_ANIMATION_STORYBOARD_STATUS, previousstatus: UI_ANIMATION_STORYBOARD_STATUS) -> ::windows::runtime::Result<()> {
876         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), storyboard.into_param().abi(), ::std::mem::transmute(newstatus), ::std::mem::transmute(previousstatus)).ok()
877     }
OnStoryboardUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>>(&self, storyboard: Param0) -> ::windows::runtime::Result<()>878     pub unsafe fn OnStoryboardUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>>(&self, storyboard: Param0) -> ::windows::runtime::Result<()> {
879         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), storyboard.into_param().abi()).ok()
880     }
881 }
882 unsafe impl ::windows::runtime::Interface for IUIAnimationStoryboardEventHandler {
883     type Vtable = IUIAnimationStoryboardEventHandler_abi;
884     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1029476360, 60540, 17252, [159, 138, 154, 243, 197, 140, 186, 230]);
885 }
886 impl ::std::convert::From<IUIAnimationStoryboardEventHandler> for ::windows::runtime::IUnknown {
from(value: IUIAnimationStoryboardEventHandler) -> Self887     fn from(value: IUIAnimationStoryboardEventHandler) -> Self {
888         unsafe { ::std::mem::transmute(value) }
889     }
890 }
891 impl ::std::convert::From<&IUIAnimationStoryboardEventHandler> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationStoryboardEventHandler) -> Self892     fn from(value: &IUIAnimationStoryboardEventHandler) -> Self {
893         ::std::convert::From::from(::std::clone::Clone::clone(value))
894     }
895 }
896 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationStoryboardEventHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>897     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
898         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
899     }
900 }
901 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationStoryboardEventHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>902     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
903         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
904     }
905 }
906 #[repr(C)]
907 #[doc(hidden)]
908 pub struct IUIAnimationStoryboardEventHandler_abi(
909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: ::windows::runtime::RawPtr, newstatus: UI_ANIMATION_STORYBOARD_STATUS, previousstatus: UI_ANIMATION_STORYBOARD_STATUS) -> ::windows::runtime::HRESULT,
913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
914 );
915 #[repr(transparent)]
916 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
917 pub struct IUIAnimationStoryboardEventHandler2(::windows::runtime::IUnknown);
918 impl IUIAnimationStoryboardEventHandler2 {
OnStoryboardStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>>(&self, storyboard: Param0, newstatus: UI_ANIMATION_STORYBOARD_STATUS, previousstatus: UI_ANIMATION_STORYBOARD_STATUS) -> ::windows::runtime::Result<()>919     pub unsafe fn OnStoryboardStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>>(&self, storyboard: Param0, newstatus: UI_ANIMATION_STORYBOARD_STATUS, previousstatus: UI_ANIMATION_STORYBOARD_STATUS) -> ::windows::runtime::Result<()> {
920         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), storyboard.into_param().abi(), ::std::mem::transmute(newstatus), ::std::mem::transmute(previousstatus)).ok()
921     }
OnStoryboardUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>>(&self, storyboard: Param0) -> ::windows::runtime::Result<()>922     pub unsafe fn OnStoryboardUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>>(&self, storyboard: Param0) -> ::windows::runtime::Result<()> {
923         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), storyboard.into_param().abi()).ok()
924     }
925 }
926 unsafe impl ::windows::runtime::Interface for IUIAnimationStoryboardEventHandler2 {
927     type Vtable = IUIAnimationStoryboardEventHandler2_abi;
928     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3133535578, 47740, 16716, [181, 153, 251, 248, 80, 245, 83, 198]);
929 }
930 impl ::std::convert::From<IUIAnimationStoryboardEventHandler2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationStoryboardEventHandler2) -> Self931     fn from(value: IUIAnimationStoryboardEventHandler2) -> Self {
932         unsafe { ::std::mem::transmute(value) }
933     }
934 }
935 impl ::std::convert::From<&IUIAnimationStoryboardEventHandler2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationStoryboardEventHandler2) -> Self936     fn from(value: &IUIAnimationStoryboardEventHandler2) -> Self {
937         ::std::convert::From::from(::std::clone::Clone::clone(value))
938     }
939 }
940 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationStoryboardEventHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>941     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
942         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
943     }
944 }
945 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationStoryboardEventHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>946     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
947         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
948     }
949 }
950 #[repr(C)]
951 #[doc(hidden)]
952 pub struct IUIAnimationStoryboardEventHandler2_abi(
953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: ::windows::runtime::RawPtr, newstatus: UI_ANIMATION_STORYBOARD_STATUS, previousstatus: UI_ANIMATION_STORYBOARD_STATUS) -> ::windows::runtime::HRESULT,
957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
958 );
959 #[repr(transparent)]
960 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
961 pub struct IUIAnimationTimer(::windows::runtime::IUnknown);
962 impl IUIAnimationTimer {
SetTimerUpdateHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTimerUpdateHandler>>(&self, updatehandler: Param0, idlebehavior: UI_ANIMATION_IDLE_BEHAVIOR) -> ::windows::runtime::Result<()>963     pub unsafe fn SetTimerUpdateHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTimerUpdateHandler>>(&self, updatehandler: Param0, idlebehavior: UI_ANIMATION_IDLE_BEHAVIOR) -> ::windows::runtime::Result<()> {
964         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), updatehandler.into_param().abi(), ::std::mem::transmute(idlebehavior)).ok()
965     }
SetTimerEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTimerEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()>966     pub unsafe fn SetTimerEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTimerEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
967         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
968     }
Enable(&self) -> ::windows::runtime::Result<()>969     pub unsafe fn Enable(&self) -> ::windows::runtime::Result<()> {
970         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
971     }
Disable(&self) -> ::windows::runtime::Result<()>972     pub unsafe fn Disable(&self) -> ::windows::runtime::Result<()> {
973         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
974     }
IsEnabled(&self) -> ::windows::runtime::Result<()>975     pub unsafe fn IsEnabled(&self) -> ::windows::runtime::Result<()> {
976         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
977     }
GetTime(&self) -> ::windows::runtime::Result<f64>978     pub unsafe fn GetTime(&self) -> ::windows::runtime::Result<f64> {
979         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
980         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
981     }
SetFrameRateThreshold(&self, framespersecond: u32) -> ::windows::runtime::Result<()>982     pub unsafe fn SetFrameRateThreshold(&self, framespersecond: u32) -> ::windows::runtime::Result<()> {
983         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(framespersecond)).ok()
984     }
985 }
986 unsafe impl ::windows::runtime::Interface for IUIAnimationTimer {
987     type Vtable = IUIAnimationTimer_abi;
988     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1796143825, 41043, 16854, [144, 133, 51, 166, 137, 20, 70, 101]);
989 }
990 impl ::std::convert::From<IUIAnimationTimer> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTimer) -> Self991     fn from(value: IUIAnimationTimer) -> Self {
992         unsafe { ::std::mem::transmute(value) }
993     }
994 }
995 impl ::std::convert::From<&IUIAnimationTimer> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTimer) -> Self996     fn from(value: &IUIAnimationTimer) -> Self {
997         ::std::convert::From::from(::std::clone::Clone::clone(value))
998     }
999 }
1000 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTimer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1001     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1002         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1003     }
1004 }
1005 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTimer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1006     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1007         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1008     }
1009 }
1010 #[repr(C)]
1011 #[doc(hidden)]
1012 pub struct IUIAnimationTimer_abi(
1013     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1014     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, updatehandler: ::windows::runtime::RawPtr, idlebehavior: UI_ANIMATION_IDLE_BEHAVIOR) -> ::windows::runtime::HRESULT,
1017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, seconds: *mut f64) -> ::windows::runtime::HRESULT,
1022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, framespersecond: u32) -> ::windows::runtime::HRESULT,
1023 );
1024 #[repr(transparent)]
1025 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1026 pub struct IUIAnimationTimerClientEventHandler(::windows::runtime::IUnknown);
1027 impl IUIAnimationTimerClientEventHandler {
OnTimerClientStatusChanged(&self, newstatus: UI_ANIMATION_TIMER_CLIENT_STATUS, previousstatus: UI_ANIMATION_TIMER_CLIENT_STATUS) -> ::windows::runtime::Result<()>1028     pub unsafe fn OnTimerClientStatusChanged(&self, newstatus: UI_ANIMATION_TIMER_CLIENT_STATUS, previousstatus: UI_ANIMATION_TIMER_CLIENT_STATUS) -> ::windows::runtime::Result<()> {
1029         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(newstatus), ::std::mem::transmute(previousstatus)).ok()
1030     }
1031 }
1032 unsafe impl ::windows::runtime::Interface for IUIAnimationTimerClientEventHandler {
1033     type Vtable = IUIAnimationTimerClientEventHandler_abi;
1034     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3202043318, 38138, 19451, [164, 127, 239, 45, 158, 64, 140, 37]);
1035 }
1036 impl ::std::convert::From<IUIAnimationTimerClientEventHandler> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTimerClientEventHandler) -> Self1037     fn from(value: IUIAnimationTimerClientEventHandler) -> Self {
1038         unsafe { ::std::mem::transmute(value) }
1039     }
1040 }
1041 impl ::std::convert::From<&IUIAnimationTimerClientEventHandler> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTimerClientEventHandler) -> Self1042     fn from(value: &IUIAnimationTimerClientEventHandler) -> Self {
1043         ::std::convert::From::from(::std::clone::Clone::clone(value))
1044     }
1045 }
1046 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTimerClientEventHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1047     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1048         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1049     }
1050 }
1051 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTimerClientEventHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1052     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1053         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1054     }
1055 }
1056 #[repr(C)]
1057 #[doc(hidden)]
1058 pub struct IUIAnimationTimerClientEventHandler_abi(
1059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newstatus: UI_ANIMATION_TIMER_CLIENT_STATUS, previousstatus: UI_ANIMATION_TIMER_CLIENT_STATUS) -> ::windows::runtime::HRESULT,
1063 );
1064 #[repr(transparent)]
1065 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1066 pub struct IUIAnimationTimerEventHandler(::windows::runtime::IUnknown);
1067 impl IUIAnimationTimerEventHandler {
OnPreUpdate(&self) -> ::windows::runtime::Result<()>1068     pub unsafe fn OnPreUpdate(&self) -> ::windows::runtime::Result<()> {
1069         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
1070     }
OnPostUpdate(&self) -> ::windows::runtime::Result<()>1071     pub unsafe fn OnPostUpdate(&self) -> ::windows::runtime::Result<()> {
1072         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
1073     }
OnRenderingTooSlow(&self, framespersecond: u32) -> ::windows::runtime::Result<()>1074     pub unsafe fn OnRenderingTooSlow(&self, framespersecond: u32) -> ::windows::runtime::Result<()> {
1075         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(framespersecond)).ok()
1076     }
1077 }
1078 unsafe impl ::windows::runtime::Interface for IUIAnimationTimerEventHandler {
1079     type Vtable = IUIAnimationTimerEventHandler_abi;
1080     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(659193322, 55153, 16533, [171, 189, 141, 247, 171, 210, 60, 227]);
1081 }
1082 impl ::std::convert::From<IUIAnimationTimerEventHandler> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTimerEventHandler) -> Self1083     fn from(value: IUIAnimationTimerEventHandler) -> Self {
1084         unsafe { ::std::mem::transmute(value) }
1085     }
1086 }
1087 impl ::std::convert::From<&IUIAnimationTimerEventHandler> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTimerEventHandler) -> Self1088     fn from(value: &IUIAnimationTimerEventHandler) -> Self {
1089         ::std::convert::From::from(::std::clone::Clone::clone(value))
1090     }
1091 }
1092 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTimerEventHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1093     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1094         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1095     }
1096 }
1097 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTimerEventHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1098     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1099         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1100     }
1101 }
1102 #[repr(C)]
1103 #[doc(hidden)]
1104 pub struct IUIAnimationTimerEventHandler_abi(
1105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, framespersecond: u32) -> ::windows::runtime::HRESULT,
1111 );
1112 #[repr(transparent)]
1113 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1114 pub struct IUIAnimationTimerUpdateHandler(::windows::runtime::IUnknown);
1115 impl IUIAnimationTimerUpdateHandler {
OnUpdate(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_UPDATE_RESULT>1116     pub unsafe fn OnUpdate(&self, timenow: f64) -> ::windows::runtime::Result<UI_ANIMATION_UPDATE_RESULT> {
1117         let mut result__: <UI_ANIMATION_UPDATE_RESULT as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1118         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(timenow), &mut result__).from_abi::<UI_ANIMATION_UPDATE_RESULT>(result__)
1119     }
SetTimerClientEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTimerClientEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()>1120     pub unsafe fn SetTimerClientEventHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationTimerClientEventHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
1121         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
1122     }
ClearTimerClientEventHandler(&self) -> ::windows::runtime::Result<()>1123     pub unsafe fn ClearTimerClientEventHandler(&self) -> ::windows::runtime::Result<()> {
1124         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
1125     }
1126 }
1127 unsafe impl ::windows::runtime::Interface for IUIAnimationTimerUpdateHandler {
1128     type Vtable = IUIAnimationTimerUpdateHandler_abi;
1129     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(425003447, 23902, 20030, [178, 120, 238, 55, 89, 179, 103, 173]);
1130 }
1131 impl ::std::convert::From<IUIAnimationTimerUpdateHandler> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTimerUpdateHandler) -> Self1132     fn from(value: IUIAnimationTimerUpdateHandler) -> Self {
1133         unsafe { ::std::mem::transmute(value) }
1134     }
1135 }
1136 impl ::std::convert::From<&IUIAnimationTimerUpdateHandler> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTimerUpdateHandler) -> Self1137     fn from(value: &IUIAnimationTimerUpdateHandler) -> Self {
1138         ::std::convert::From::from(::std::clone::Clone::clone(value))
1139     }
1140 }
1141 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTimerUpdateHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1142     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1143         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1144     }
1145 }
1146 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTimerUpdateHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1147     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1148         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1149     }
1150 }
1151 #[repr(C)]
1152 #[doc(hidden)]
1153 pub struct IUIAnimationTimerUpdateHandler_abi(
1154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timenow: f64, result: *mut UI_ANIMATION_UPDATE_RESULT) -> ::windows::runtime::HRESULT,
1158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1160 );
1161 #[repr(transparent)]
1162 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1163 pub struct IUIAnimationTransition(::windows::runtime::IUnknown);
1164 impl IUIAnimationTransition {
SetInitialValue(&self, value: f64) -> ::windows::runtime::Result<()>1165     pub unsafe fn SetInitialValue(&self, value: f64) -> ::windows::runtime::Result<()> {
1166         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1167     }
SetInitialVelocity(&self, velocity: f64) -> ::windows::runtime::Result<()>1168     pub unsafe fn SetInitialVelocity(&self, velocity: f64) -> ::windows::runtime::Result<()> {
1169         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(velocity)).ok()
1170     }
IsDurationKnown(&self) -> ::windows::runtime::Result<()>1171     pub unsafe fn IsDurationKnown(&self) -> ::windows::runtime::Result<()> {
1172         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
1173     }
GetDuration(&self) -> ::windows::runtime::Result<f64>1174     pub unsafe fn GetDuration(&self) -> ::windows::runtime::Result<f64> {
1175         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1176         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
1177     }
1178 }
1179 unsafe impl ::windows::runtime::Interface for IUIAnimationTransition {
1180     type Vtable = IUIAnimationTransition_abi;
1181     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3698123346, 63281, 16847, [182, 16, 97, 75, 108, 160, 73, 173]);
1182 }
1183 impl ::std::convert::From<IUIAnimationTransition> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTransition) -> Self1184     fn from(value: IUIAnimationTransition) -> Self {
1185         unsafe { ::std::mem::transmute(value) }
1186     }
1187 }
1188 impl ::std::convert::From<&IUIAnimationTransition> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTransition) -> Self1189     fn from(value: &IUIAnimationTransition) -> Self {
1190         ::std::convert::From::from(::std::clone::Clone::clone(value))
1191     }
1192 }
1193 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTransition {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1194     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1195         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1196     }
1197 }
1198 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTransition {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1199     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1200         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1201     }
1202 }
1203 #[repr(C)]
1204 #[doc(hidden)]
1205 pub struct IUIAnimationTransition_abi(
1206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
1210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocity: f64) -> ::windows::runtime::HRESULT,
1211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: *mut f64) -> ::windows::runtime::HRESULT,
1213 );
1214 #[repr(transparent)]
1215 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1216 pub struct IUIAnimationTransition2(::windows::runtime::IUnknown);
1217 impl IUIAnimationTransition2 {
GetDimension(&self) -> ::windows::runtime::Result<u32>1218     pub unsafe fn GetDimension(&self) -> ::windows::runtime::Result<u32> {
1219         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1220         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1221     }
SetInitialValue(&self, value: f64) -> ::windows::runtime::Result<()>1222     pub unsafe fn SetInitialValue(&self, value: f64) -> ::windows::runtime::Result<()> {
1223         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(value)).ok()
1224     }
SetInitialVectorValue(&self, value: *const f64, cdimension: u32) -> ::windows::runtime::Result<()>1225     pub unsafe fn SetInitialVectorValue(&self, value: *const f64, cdimension: u32) -> ::windows::runtime::Result<()> {
1226         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(value), ::std::mem::transmute(cdimension)).ok()
1227     }
SetInitialVelocity(&self, velocity: f64) -> ::windows::runtime::Result<()>1228     pub unsafe fn SetInitialVelocity(&self, velocity: f64) -> ::windows::runtime::Result<()> {
1229         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(velocity)).ok()
1230     }
SetInitialVectorVelocity(&self, velocity: *const f64, cdimension: u32) -> ::windows::runtime::Result<()>1231     pub unsafe fn SetInitialVectorVelocity(&self, velocity: *const f64, cdimension: u32) -> ::windows::runtime::Result<()> {
1232         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(velocity), ::std::mem::transmute(cdimension)).ok()
1233     }
IsDurationKnown(&self) -> ::windows::runtime::Result<()>1234     pub unsafe fn IsDurationKnown(&self) -> ::windows::runtime::Result<()> {
1235         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)).ok()
1236     }
GetDuration(&self) -> ::windows::runtime::Result<f64>1237     pub unsafe fn GetDuration(&self) -> ::windows::runtime::Result<f64> {
1238         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1239         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
1240     }
1241 }
1242 unsafe impl ::windows::runtime::Interface for IUIAnimationTransition2 {
1243     type Vtable = IUIAnimationTransition2_abi;
1244     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1660916003, 43098, 20123, [162, 24, 67, 90, 147, 226, 104, 253]);
1245 }
1246 impl ::std::convert::From<IUIAnimationTransition2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTransition2) -> Self1247     fn from(value: IUIAnimationTransition2) -> Self {
1248         unsafe { ::std::mem::transmute(value) }
1249     }
1250 }
1251 impl ::std::convert::From<&IUIAnimationTransition2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTransition2) -> Self1252     fn from(value: &IUIAnimationTransition2) -> Self {
1253         ::std::convert::From::from(::std::clone::Clone::clone(value))
1254     }
1255 }
1256 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTransition2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1257     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1258         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1259     }
1260 }
1261 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTransition2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1262     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1263         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1264     }
1265 }
1266 #[repr(C)]
1267 #[doc(hidden)]
1268 pub struct IUIAnimationTransition2_abi(
1269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dimension: *mut u32) -> ::windows::runtime::HRESULT,
1273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
1274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *const f64, cdimension: u32) -> ::windows::runtime::HRESULT,
1275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocity: f64) -> ::windows::runtime::HRESULT,
1276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, velocity: *const f64, cdimension: u32) -> ::windows::runtime::HRESULT,
1277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: *mut f64) -> ::windows::runtime::HRESULT,
1279 );
1280 #[repr(transparent)]
1281 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1282 pub struct IUIAnimationTransitionFactory(::windows::runtime::IUnknown);
1283 impl IUIAnimationTransitionFactory {
CreateTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationInterpolator>>(&self, interpolator: Param0) -> ::windows::runtime::Result<IUIAnimationTransition>1284     pub unsafe fn CreateTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationInterpolator>>(&self, interpolator: Param0) -> ::windows::runtime::Result<IUIAnimationTransition> {
1285         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1286         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), interpolator.into_param().abi(), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1287     }
1288 }
1289 unsafe impl ::windows::runtime::Interface for IUIAnimationTransitionFactory {
1290     type Vtable = IUIAnimationTransitionFactory_abi;
1291     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4242087427, 15931, 17837, [187, 177, 109, 252, 129, 83, 116, 61]);
1292 }
1293 impl ::std::convert::From<IUIAnimationTransitionFactory> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTransitionFactory) -> Self1294     fn from(value: IUIAnimationTransitionFactory) -> Self {
1295         unsafe { ::std::mem::transmute(value) }
1296     }
1297 }
1298 impl ::std::convert::From<&IUIAnimationTransitionFactory> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTransitionFactory) -> Self1299     fn from(value: &IUIAnimationTransitionFactory) -> Self {
1300         ::std::convert::From::from(::std::clone::Clone::clone(value))
1301     }
1302 }
1303 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTransitionFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1304     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1305         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1306     }
1307 }
1308 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTransitionFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1309     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1310         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1311     }
1312 }
1313 #[repr(C)]
1314 #[doc(hidden)]
1315 pub struct IUIAnimationTransitionFactory_abi(
1316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, interpolator: ::windows::runtime::RawPtr, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1320 );
1321 #[repr(transparent)]
1322 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1323 pub struct IUIAnimationTransitionFactory2(::windows::runtime::IUnknown);
1324 impl IUIAnimationTransitionFactory2 {
CreateTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationInterpolator2>>(&self, interpolator: Param0) -> ::windows::runtime::Result<IUIAnimationTransition2>1325     pub unsafe fn CreateTransition<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationInterpolator2>>(&self, interpolator: Param0) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1326         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1327         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), interpolator.into_param().abi(), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1328     }
1329 }
1330 unsafe impl ::windows::runtime::Interface for IUIAnimationTransitionFactory2 {
1331     type Vtable = IUIAnimationTransitionFactory2_abi;
1332     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2474461462, 49574, 17109, [136, 216, 48, 52, 77, 110, 254, 49]);
1333 }
1334 impl ::std::convert::From<IUIAnimationTransitionFactory2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTransitionFactory2) -> Self1335     fn from(value: IUIAnimationTransitionFactory2) -> Self {
1336         unsafe { ::std::mem::transmute(value) }
1337     }
1338 }
1339 impl ::std::convert::From<&IUIAnimationTransitionFactory2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTransitionFactory2) -> Self1340     fn from(value: &IUIAnimationTransitionFactory2) -> Self {
1341         ::std::convert::From::from(::std::clone::Clone::clone(value))
1342     }
1343 }
1344 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTransitionFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1345     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1346         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1347     }
1348 }
1349 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTransitionFactory2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1350     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1351         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1352     }
1353 }
1354 #[repr(C)]
1355 #[doc(hidden)]
1356 pub struct IUIAnimationTransitionFactory2_abi(
1357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, interpolator: ::windows::runtime::RawPtr, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1361 );
1362 #[repr(transparent)]
1363 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1364 pub struct IUIAnimationTransitionLibrary(::windows::runtime::IUnknown);
1365 impl IUIAnimationTransitionLibrary {
CreateInstantaneousTransition(&self, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1366     pub unsafe fn CreateInstantaneousTransition(&self, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1367         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1368         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(finalvalue), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1369     }
CreateConstantTransition(&self, duration: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1370     pub unsafe fn CreateConstantTransition(&self, duration: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1371         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1372         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1373     }
CreateDiscreteTransition(&self, delay: f64, finalvalue: f64, hold: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1374     pub unsafe fn CreateDiscreteTransition(&self, delay: f64, finalvalue: f64, hold: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1375         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1376         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(delay), ::std::mem::transmute(finalvalue), ::std::mem::transmute(hold), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1377     }
CreateLinearTransition(&self, duration: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1378     pub unsafe fn CreateLinearTransition(&self, duration: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1379         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1380         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1381     }
CreateLinearTransitionFromSpeed(&self, speed: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1382     pub unsafe fn CreateLinearTransitionFromSpeed(&self, speed: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1383         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1384         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(speed), ::std::mem::transmute(finalvalue), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1385     }
CreateSinusoidalTransitionFromVelocity(&self, duration: f64, period: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1386     pub unsafe fn CreateSinusoidalTransitionFromVelocity(&self, duration: f64, period: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1387         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1388         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(period), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1389     }
CreateSinusoidalTransitionFromRange(&self, duration: f64, minimumvalue: f64, maximumvalue: f64, period: f64, slope: UI_ANIMATION_SLOPE) -> ::windows::runtime::Result<IUIAnimationTransition>1390     pub unsafe fn CreateSinusoidalTransitionFromRange(&self, duration: f64, minimumvalue: f64, maximumvalue: f64, period: f64, slope: UI_ANIMATION_SLOPE) -> ::windows::runtime::Result<IUIAnimationTransition> {
1391         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1392         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(minimumvalue), ::std::mem::transmute(maximumvalue), ::std::mem::transmute(period), ::std::mem::transmute(slope), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1393     }
CreateAccelerateDecelerateTransition(&self, duration: f64, finalvalue: f64, accelerationratio: f64, decelerationratio: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1394     pub unsafe fn CreateAccelerateDecelerateTransition(&self, duration: f64, finalvalue: f64, accelerationratio: f64, decelerationratio: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1395         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1396         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), ::std::mem::transmute(accelerationratio), ::std::mem::transmute(decelerationratio), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1397     }
CreateReversalTransition(&self, duration: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1398     pub unsafe fn CreateReversalTransition(&self, duration: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1399         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1400         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1401     }
CreateCubicTransition(&self, duration: f64, finalvalue: f64, finalvelocity: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1402     pub unsafe fn CreateCubicTransition(&self, duration: f64, finalvalue: f64, finalvelocity: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1403         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1404         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), ::std::mem::transmute(finalvelocity), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1405     }
CreateSmoothStopTransition(&self, maximumduration: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1406     pub unsafe fn CreateSmoothStopTransition(&self, maximumduration: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1407         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1408         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(maximumduration), ::std::mem::transmute(finalvalue), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1409     }
CreateParabolicTransitionFromAcceleration(&self, finalvalue: f64, finalvelocity: f64, acceleration: f64) -> ::windows::runtime::Result<IUIAnimationTransition>1410     pub unsafe fn CreateParabolicTransitionFromAcceleration(&self, finalvalue: f64, finalvelocity: f64, acceleration: f64) -> ::windows::runtime::Result<IUIAnimationTransition> {
1411         let mut result__: <IUIAnimationTransition as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1412         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(finalvalue), ::std::mem::transmute(finalvelocity), ::std::mem::transmute(acceleration), &mut result__).from_abi::<IUIAnimationTransition>(result__)
1413     }
1414 }
1415 unsafe impl ::windows::runtime::Interface for IUIAnimationTransitionLibrary {
1416     type Vtable = IUIAnimationTransitionLibrary_abi;
1417     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3394901169, 53839, 18616, [143, 228, 199, 129, 105, 186, 149, 78]);
1418 }
1419 impl ::std::convert::From<IUIAnimationTransitionLibrary> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTransitionLibrary) -> Self1420     fn from(value: IUIAnimationTransitionLibrary) -> Self {
1421         unsafe { ::std::mem::transmute(value) }
1422     }
1423 }
1424 impl ::std::convert::From<&IUIAnimationTransitionLibrary> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTransitionLibrary) -> Self1425     fn from(value: &IUIAnimationTransitionLibrary) -> Self {
1426         ::std::convert::From::from(::std::clone::Clone::clone(value))
1427     }
1428 }
1429 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTransitionLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1430     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1431         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1432     }
1433 }
1434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTransitionLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1435     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1436         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1437     }
1438 }
1439 #[repr(C)]
1440 #[doc(hidden)]
1441 pub struct IUIAnimationTransitionLibrary_abi(
1442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, delay: f64, finalvalue: f64, hold: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, speed: f64, finalvalue: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, period: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, minimumvalue: f64, maximumvalue: f64, period: f64, slope: UI_ANIMATION_SLOPE, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: f64, accelerationratio: f64, decelerationratio: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: f64, finalvelocity: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maximumduration: f64, finalvalue: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: f64, finalvelocity: f64, acceleration: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1457 );
1458 #[repr(transparent)]
1459 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1460 pub struct IUIAnimationTransitionLibrary2(::windows::runtime::IUnknown);
1461 impl IUIAnimationTransitionLibrary2 {
CreateInstantaneousTransition(&self, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1462     pub unsafe fn CreateInstantaneousTransition(&self, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1463         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1464         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(finalvalue), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1465     }
CreateInstantaneousVectorTransition(&self, finalvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationTransition2>1466     pub unsafe fn CreateInstantaneousVectorTransition(&self, finalvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1467         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1468         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(finalvalue), ::std::mem::transmute(cdimension), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1469     }
CreateConstantTransition(&self, duration: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1470     pub unsafe fn CreateConstantTransition(&self, duration: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1471         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1472         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1473     }
CreateDiscreteTransition(&self, delay: f64, finalvalue: f64, hold: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1474     pub unsafe fn CreateDiscreteTransition(&self, delay: f64, finalvalue: f64, hold: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1475         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1476         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(delay), ::std::mem::transmute(finalvalue), ::std::mem::transmute(hold), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1477     }
CreateDiscreteVectorTransition(&self, delay: f64, finalvalue: *const f64, cdimension: u32, hold: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1478     pub unsafe fn CreateDiscreteVectorTransition(&self, delay: f64, finalvalue: *const f64, cdimension: u32, hold: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1479         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1480         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(delay), ::std::mem::transmute(finalvalue), ::std::mem::transmute(cdimension), ::std::mem::transmute(hold), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1481     }
CreateLinearTransition(&self, duration: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1482     pub unsafe fn CreateLinearTransition(&self, duration: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1483         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1484         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1485     }
CreateLinearVectorTransition(&self, duration: f64, finalvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationTransition2>1486     pub unsafe fn CreateLinearVectorTransition(&self, duration: f64, finalvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1487         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1488         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), ::std::mem::transmute(cdimension), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1489     }
CreateLinearTransitionFromSpeed(&self, speed: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1490     pub unsafe fn CreateLinearTransitionFromSpeed(&self, speed: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1491         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1492         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(speed), ::std::mem::transmute(finalvalue), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1493     }
CreateLinearVectorTransitionFromSpeed(&self, speed: f64, finalvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationTransition2>1494     pub unsafe fn CreateLinearVectorTransitionFromSpeed(&self, speed: f64, finalvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1495         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1496         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(speed), ::std::mem::transmute(finalvalue), ::std::mem::transmute(cdimension), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1497     }
CreateSinusoidalTransitionFromVelocity(&self, duration: f64, period: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1498     pub unsafe fn CreateSinusoidalTransitionFromVelocity(&self, duration: f64, period: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1499         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1500         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(period), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1501     }
CreateSinusoidalTransitionFromRange(&self, duration: f64, minimumvalue: f64, maximumvalue: f64, period: f64, slope: UI_ANIMATION_SLOPE) -> ::windows::runtime::Result<IUIAnimationTransition2>1502     pub unsafe fn CreateSinusoidalTransitionFromRange(&self, duration: f64, minimumvalue: f64, maximumvalue: f64, period: f64, slope: UI_ANIMATION_SLOPE) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1503         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1504         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(minimumvalue), ::std::mem::transmute(maximumvalue), ::std::mem::transmute(period), ::std::mem::transmute(slope), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1505     }
CreateAccelerateDecelerateTransition(&self, duration: f64, finalvalue: f64, accelerationratio: f64, decelerationratio: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1506     pub unsafe fn CreateAccelerateDecelerateTransition(&self, duration: f64, finalvalue: f64, accelerationratio: f64, decelerationratio: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1507         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1508         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), ::std::mem::transmute(accelerationratio), ::std::mem::transmute(decelerationratio), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1509     }
CreateReversalTransition(&self, duration: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1510     pub unsafe fn CreateReversalTransition(&self, duration: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1511         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1512         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1513     }
CreateCubicTransition(&self, duration: f64, finalvalue: f64, finalvelocity: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1514     pub unsafe fn CreateCubicTransition(&self, duration: f64, finalvalue: f64, finalvelocity: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1515         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1516         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), ::std::mem::transmute(finalvelocity), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1517     }
CreateCubicVectorTransition(&self, duration: f64, finalvalue: *const f64, finalvelocity: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationTransition2>1518     pub unsafe fn CreateCubicVectorTransition(&self, duration: f64, finalvalue: *const f64, finalvelocity: *const f64, cdimension: u32) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1519         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1520         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), ::std::mem::transmute(finalvelocity), ::std::mem::transmute(cdimension), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1521     }
CreateSmoothStopTransition(&self, maximumduration: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1522     pub unsafe fn CreateSmoothStopTransition(&self, maximumduration: f64, finalvalue: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1523         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1524         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), ::std::mem::transmute(maximumduration), ::std::mem::transmute(finalvalue), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1525     }
CreateParabolicTransitionFromAcceleration(&self, finalvalue: f64, finalvelocity: f64, acceleration: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1526     pub unsafe fn CreateParabolicTransitionFromAcceleration(&self, finalvalue: f64, finalvelocity: f64, acceleration: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1527         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1528         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(finalvalue), ::std::mem::transmute(finalvelocity), ::std::mem::transmute(acceleration), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1529     }
CreateCubicBezierLinearTransition(&self, duration: f64, finalvalue: f64, x1: f64, y1: f64, x2: f64, y2: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1530     pub unsafe fn CreateCubicBezierLinearTransition(&self, duration: f64, finalvalue: f64, x1: f64, y1: f64, x2: f64, y2: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1531         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1532         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), ::std::mem::transmute(x1), ::std::mem::transmute(y1), ::std::mem::transmute(x2), ::std::mem::transmute(y2), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1533     }
CreateCubicBezierLinearVectorTransition(&self, duration: f64, finalvalue: *const f64, cdimension: u32, x1: f64, y1: f64, x2: f64, y2: f64) -> ::windows::runtime::Result<IUIAnimationTransition2>1534     pub unsafe fn CreateCubicBezierLinearVectorTransition(&self, duration: f64, finalvalue: *const f64, cdimension: u32, x1: f64, y1: f64, x2: f64, y2: f64) -> ::windows::runtime::Result<IUIAnimationTransition2> {
1535         let mut result__: <IUIAnimationTransition2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1536         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(duration), ::std::mem::transmute(finalvalue), ::std::mem::transmute(cdimension), ::std::mem::transmute(x1), ::std::mem::transmute(y1), ::std::mem::transmute(x2), ::std::mem::transmute(y2), &mut result__).from_abi::<IUIAnimationTransition2>(result__)
1537     }
1538 }
1539 unsafe impl ::windows::runtime::Interface for IUIAnimationTransitionLibrary2 {
1540     type Vtable = IUIAnimationTransitionLibrary2_abi;
1541     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(63942227, 38272, 20195, [179, 99, 46, 206, 81, 180, 175, 106]);
1542 }
1543 impl ::std::convert::From<IUIAnimationTransitionLibrary2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationTransitionLibrary2) -> Self1544     fn from(value: IUIAnimationTransitionLibrary2) -> Self {
1545         unsafe { ::std::mem::transmute(value) }
1546     }
1547 }
1548 impl ::std::convert::From<&IUIAnimationTransitionLibrary2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationTransitionLibrary2) -> Self1549     fn from(value: &IUIAnimationTransitionLibrary2) -> Self {
1550         ::std::convert::From::from(::std::clone::Clone::clone(value))
1551     }
1552 }
1553 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationTransitionLibrary2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1554     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1555         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1556     }
1557 }
1558 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationTransitionLibrary2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1559     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1560         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1561     }
1562 }
1563 #[repr(C)]
1564 #[doc(hidden)]
1565 pub struct IUIAnimationTransitionLibrary2_abi(
1566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: *const f64, cdimension: u32, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, delay: f64, finalvalue: f64, hold: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, delay: f64, finalvalue: *const f64, cdimension: u32, hold: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: *const f64, cdimension: u32, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, speed: f64, finalvalue: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, speed: f64, finalvalue: *const f64, cdimension: u32, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, period: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, minimumvalue: f64, maximumvalue: f64, period: f64, slope: UI_ANIMATION_SLOPE, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: f64, accelerationratio: f64, decelerationratio: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: f64, finalvelocity: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: *const f64, finalvelocity: *const f64, cdimension: u32, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, maximumduration: f64, finalvalue: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: f64, finalvelocity: f64, acceleration: f64, transition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: f64, x1: f64, y1: f64, x2: f64, y2: f64, pptransition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, duration: f64, finalvalue: *const f64, cdimension: u32, x1: f64, y1: f64, x2: f64, y2: f64, pptransition: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1588 );
1589 #[repr(transparent)]
1590 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1591 pub struct IUIAnimationVariable(::windows::runtime::IUnknown);
1592 impl IUIAnimationVariable {
GetValue(&self) -> ::windows::runtime::Result<f64>1593     pub unsafe fn GetValue(&self) -> ::windows::runtime::Result<f64> {
1594         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1595         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
1596     }
GetFinalValue(&self) -> ::windows::runtime::Result<f64>1597     pub unsafe fn GetFinalValue(&self) -> ::windows::runtime::Result<f64> {
1598         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1599         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
1600     }
GetPreviousValue(&self) -> ::windows::runtime::Result<f64>1601     pub unsafe fn GetPreviousValue(&self) -> ::windows::runtime::Result<f64> {
1602         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1603         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
1604     }
GetIntegerValue(&self) -> ::windows::runtime::Result<i32>1605     pub unsafe fn GetIntegerValue(&self) -> ::windows::runtime::Result<i32> {
1606         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1607         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1608     }
GetFinalIntegerValue(&self) -> ::windows::runtime::Result<i32>1609     pub unsafe fn GetFinalIntegerValue(&self) -> ::windows::runtime::Result<i32> {
1610         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1611         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1612     }
GetPreviousIntegerValue(&self) -> ::windows::runtime::Result<i32>1613     pub unsafe fn GetPreviousIntegerValue(&self) -> ::windows::runtime::Result<i32> {
1614         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1615         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1616     }
GetCurrentStoryboard(&self) -> ::windows::runtime::Result<IUIAnimationStoryboard>1617     pub unsafe fn GetCurrentStoryboard(&self) -> ::windows::runtime::Result<IUIAnimationStoryboard> {
1618         let mut result__: <IUIAnimationStoryboard as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1619         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAnimationStoryboard>(result__)
1620     }
SetLowerBound(&self, bound: f64) -> ::windows::runtime::Result<()>1621     pub unsafe fn SetLowerBound(&self, bound: f64) -> ::windows::runtime::Result<()> {
1622         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(bound)).ok()
1623     }
SetUpperBound(&self, bound: f64) -> ::windows::runtime::Result<()>1624     pub unsafe fn SetUpperBound(&self, bound: f64) -> ::windows::runtime::Result<()> {
1625         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(bound)).ok()
1626     }
SetRoundingMode(&self, mode: UI_ANIMATION_ROUNDING_MODE) -> ::windows::runtime::Result<()>1627     pub unsafe fn SetRoundingMode(&self, mode: UI_ANIMATION_ROUNDING_MODE) -> ::windows::runtime::Result<()> {
1628         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(mode)).ok()
1629     }
SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<()>1630     pub unsafe fn SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<()> {
1631         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(id)).ok()
1632     }
GetTag(&self, object: *mut ::std::option::Option<::windows::runtime::IUnknown>, id: *mut u32) -> ::windows::runtime::Result<()>1633     pub unsafe fn GetTag(&self, object: *mut ::std::option::Option<::windows::runtime::IUnknown>, id: *mut u32) -> ::windows::runtime::Result<()> {
1634         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(object), ::std::mem::transmute(id)).ok()
1635     }
SetVariableChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableChangeHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()>1636     pub unsafe fn SetVariableChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableChangeHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
1637         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
1638     }
SetVariableIntegerChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableIntegerChangeHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()>1639     pub unsafe fn SetVariableIntegerChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableIntegerChangeHandler>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
1640         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
1641     }
1642 }
1643 unsafe impl ::windows::runtime::Interface for IUIAnimationVariable {
1644     type Vtable = IUIAnimationVariable_abi;
1645     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2364453205, 10313, 19685, [148, 72, 145, 255, 112, 225, 228, 217]);
1646 }
1647 impl ::std::convert::From<IUIAnimationVariable> for ::windows::runtime::IUnknown {
from(value: IUIAnimationVariable) -> Self1648     fn from(value: IUIAnimationVariable) -> Self {
1649         unsafe { ::std::mem::transmute(value) }
1650     }
1651 }
1652 impl ::std::convert::From<&IUIAnimationVariable> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationVariable) -> Self1653     fn from(value: &IUIAnimationVariable) -> Self {
1654         ::std::convert::From::from(::std::clone::Clone::clone(value))
1655     }
1656 }
1657 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationVariable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1658     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1659         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1660     }
1661 }
1662 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationVariable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1663     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1664         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1665     }
1666 }
1667 #[repr(C)]
1668 #[doc(hidden)]
1669 pub struct IUIAnimationVariable_abi(
1670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut f64) -> ::windows::runtime::HRESULT,
1674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: *mut f64) -> ::windows::runtime::HRESULT,
1675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, previousvalue: *mut f64) -> ::windows::runtime::HRESULT,
1676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: *mut i32) -> ::windows::runtime::HRESULT,
1678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, previousvalue: *mut i32) -> ::windows::runtime::HRESULT,
1679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bound: f64) -> ::windows::runtime::HRESULT,
1681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bound: f64) -> ::windows::runtime::HRESULT,
1682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: UI_ANIMATION_ROUNDING_MODE) -> ::windows::runtime::HRESULT,
1683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, id: u32) -> ::windows::runtime::HRESULT,
1684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: *mut ::windows::runtime::RawPtr, id: *mut u32) -> ::windows::runtime::HRESULT,
1685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1687 );
1688 #[repr(transparent)]
1689 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1690 pub struct IUIAnimationVariable2(::windows::runtime::IUnknown);
1691 impl IUIAnimationVariable2 {
GetDimension(&self) -> ::windows::runtime::Result<u32>1692     pub unsafe fn GetDimension(&self) -> ::windows::runtime::Result<u32> {
1693         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1694         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
1695     }
GetValue(&self) -> ::windows::runtime::Result<f64>1696     pub unsafe fn GetValue(&self) -> ::windows::runtime::Result<f64> {
1697         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1698         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
1699     }
GetVectorValue(&self, value: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()>1700     pub unsafe fn GetVectorValue(&self, value: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()> {
1701         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(value), ::std::mem::transmute(cdimension)).ok()
1702     }
1703     #[cfg(feature = "Win32_Graphics_DirectComposition")]
GetCurve<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectComposition::IDCompositionAnimation>>(&self, animation: Param0) -> ::windows::runtime::Result<()>1704     pub unsafe fn GetCurve<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectComposition::IDCompositionAnimation>>(&self, animation: Param0) -> ::windows::runtime::Result<()> {
1705         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), animation.into_param().abi()).ok()
1706     }
1707     #[cfg(feature = "Win32_Graphics_DirectComposition")]
GetVectorCurve(&self, animation: *const ::std::option::Option<super::super::Graphics::DirectComposition::IDCompositionAnimation>, cdimension: u32) -> ::windows::runtime::Result<()>1708     pub unsafe fn GetVectorCurve(&self, animation: *const ::std::option::Option<super::super::Graphics::DirectComposition::IDCompositionAnimation>, cdimension: u32) -> ::windows::runtime::Result<()> {
1709         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(animation), ::std::mem::transmute(cdimension)).ok()
1710     }
GetFinalValue(&self) -> ::windows::runtime::Result<f64>1711     pub unsafe fn GetFinalValue(&self) -> ::windows::runtime::Result<f64> {
1712         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1713         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
1714     }
GetFinalVectorValue(&self, finalvalue: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()>1715     pub unsafe fn GetFinalVectorValue(&self, finalvalue: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()> {
1716         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(finalvalue), ::std::mem::transmute(cdimension)).ok()
1717     }
GetPreviousValue(&self) -> ::windows::runtime::Result<f64>1718     pub unsafe fn GetPreviousValue(&self) -> ::windows::runtime::Result<f64> {
1719         let mut result__: <f64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1720         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<f64>(result__)
1721     }
GetPreviousVectorValue(&self, previousvalue: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()>1722     pub unsafe fn GetPreviousVectorValue(&self, previousvalue: *mut f64, cdimension: u32) -> ::windows::runtime::Result<()> {
1723         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(previousvalue), ::std::mem::transmute(cdimension)).ok()
1724     }
GetIntegerValue(&self) -> ::windows::runtime::Result<i32>1725     pub unsafe fn GetIntegerValue(&self) -> ::windows::runtime::Result<i32> {
1726         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1727         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1728     }
GetIntegerVectorValue(&self, value: *mut i32, cdimension: u32) -> ::windows::runtime::Result<()>1729     pub unsafe fn GetIntegerVectorValue(&self, value: *mut i32, cdimension: u32) -> ::windows::runtime::Result<()> {
1730         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(value), ::std::mem::transmute(cdimension)).ok()
1731     }
GetFinalIntegerValue(&self) -> ::windows::runtime::Result<i32>1732     pub unsafe fn GetFinalIntegerValue(&self) -> ::windows::runtime::Result<i32> {
1733         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1734         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1735     }
GetFinalIntegerVectorValue(&self, finalvalue: *mut i32, cdimension: u32) -> ::windows::runtime::Result<()>1736     pub unsafe fn GetFinalIntegerVectorValue(&self, finalvalue: *mut i32, cdimension: u32) -> ::windows::runtime::Result<()> {
1737         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(finalvalue), ::std::mem::transmute(cdimension)).ok()
1738     }
GetPreviousIntegerValue(&self) -> ::windows::runtime::Result<i32>1739     pub unsafe fn GetPreviousIntegerValue(&self) -> ::windows::runtime::Result<i32> {
1740         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1741         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
1742     }
GetPreviousIntegerVectorValue(&self, previousvalue: *mut i32, cdimension: u32) -> ::windows::runtime::Result<()>1743     pub unsafe fn GetPreviousIntegerVectorValue(&self, previousvalue: *mut i32, cdimension: u32) -> ::windows::runtime::Result<()> {
1744         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), ::std::mem::transmute(previousvalue), ::std::mem::transmute(cdimension)).ok()
1745     }
GetCurrentStoryboard(&self) -> ::windows::runtime::Result<IUIAnimationStoryboard2>1746     pub unsafe fn GetCurrentStoryboard(&self) -> ::windows::runtime::Result<IUIAnimationStoryboard2> {
1747         let mut result__: <IUIAnimationStoryboard2 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1748         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUIAnimationStoryboard2>(result__)
1749     }
SetLowerBound(&self, bound: f64) -> ::windows::runtime::Result<()>1750     pub unsafe fn SetLowerBound(&self, bound: f64) -> ::windows::runtime::Result<()> {
1751         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), ::std::mem::transmute(bound)).ok()
1752     }
SetLowerBoundVector(&self, bound: *const f64, cdimension: u32) -> ::windows::runtime::Result<()>1753     pub unsafe fn SetLowerBoundVector(&self, bound: *const f64, cdimension: u32) -> ::windows::runtime::Result<()> {
1754         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), ::std::mem::transmute(bound), ::std::mem::transmute(cdimension)).ok()
1755     }
SetUpperBound(&self, bound: f64) -> ::windows::runtime::Result<()>1756     pub unsafe fn SetUpperBound(&self, bound: f64) -> ::windows::runtime::Result<()> {
1757         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), ::std::mem::transmute(bound)).ok()
1758     }
SetUpperBoundVector(&self, bound: *const f64, cdimension: u32) -> ::windows::runtime::Result<()>1759     pub unsafe fn SetUpperBoundVector(&self, bound: *const f64, cdimension: u32) -> ::windows::runtime::Result<()> {
1760         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), ::std::mem::transmute(bound), ::std::mem::transmute(cdimension)).ok()
1761     }
SetRoundingMode(&self, mode: UI_ANIMATION_ROUNDING_MODE) -> ::windows::runtime::Result<()>1762     pub unsafe fn SetRoundingMode(&self, mode: UI_ANIMATION_ROUNDING_MODE) -> ::windows::runtime::Result<()> {
1763         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), ::std::mem::transmute(mode)).ok()
1764     }
SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<()>1765     pub unsafe fn SetTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, object: Param0, id: u32) -> ::windows::runtime::Result<()> {
1766         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), object.into_param().abi(), ::std::mem::transmute(id)).ok()
1767     }
GetTag(&self, object: *mut ::std::option::Option<::windows::runtime::IUnknown>, id: *mut u32) -> ::windows::runtime::Result<()>1768     pub unsafe fn GetTag(&self, object: *mut ::std::option::Option<::windows::runtime::IUnknown>, id: *mut u32) -> ::windows::runtime::Result<()> {
1769         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), ::std::mem::transmute(object), ::std::mem::transmute(id)).ok()
1770     }
1771     #[cfg(feature = "Win32_Foundation")]
SetVariableChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableChangeHandler2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, handler: Param0, fregisterfornextanimationevent: Param1) -> ::windows::runtime::Result<()>1772     pub unsafe fn SetVariableChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableChangeHandler2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, handler: Param0, fregisterfornextanimationevent: Param1) -> ::windows::runtime::Result<()> {
1773         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), handler.into_param().abi(), fregisterfornextanimationevent.into_param().abi()).ok()
1774     }
1775     #[cfg(feature = "Win32_Foundation")]
SetVariableIntegerChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableIntegerChangeHandler2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, handler: Param0, fregisterfornextanimationevent: Param1) -> ::windows::runtime::Result<()>1776     pub unsafe fn SetVariableIntegerChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableIntegerChangeHandler2>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, handler: Param0, fregisterfornextanimationevent: Param1) -> ::windows::runtime::Result<()> {
1777         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), handler.into_param().abi(), fregisterfornextanimationevent.into_param().abi()).ok()
1778     }
SetVariableCurveChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableCurveChangeHandler2>>(&self, handler: Param0) -> ::windows::runtime::Result<()>1779     pub unsafe fn SetVariableCurveChangeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariableCurveChangeHandler2>>(&self, handler: Param0) -> ::windows::runtime::Result<()> {
1780         (::windows::runtime::Interface::vtable(self).28)(::std::mem::transmute_copy(self), handler.into_param().abi()).ok()
1781     }
1782 }
1783 unsafe impl ::windows::runtime::Interface for IUIAnimationVariable2 {
1784     type Vtable = IUIAnimationVariable2_abi;
1785     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1226093316, 38571, 17625, [158, 119, 213, 16, 155, 126, 116, 102]);
1786 }
1787 impl ::std::convert::From<IUIAnimationVariable2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationVariable2) -> Self1788     fn from(value: IUIAnimationVariable2) -> Self {
1789         unsafe { ::std::mem::transmute(value) }
1790     }
1791 }
1792 impl ::std::convert::From<&IUIAnimationVariable2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationVariable2) -> Self1793     fn from(value: &IUIAnimationVariable2) -> Self {
1794         ::std::convert::From::from(::std::clone::Clone::clone(value))
1795     }
1796 }
1797 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationVariable2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1798     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1799         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1800     }
1801 }
1802 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationVariable2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1803     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1804         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1805     }
1806 }
1807 #[repr(C)]
1808 #[doc(hidden)]
1809 pub struct IUIAnimationVariable2_abi(
1810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dimension: *mut u32) -> ::windows::runtime::HRESULT,
1814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut f64) -> ::windows::runtime::HRESULT,
1815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut f64, cdimension: u32) -> ::windows::runtime::HRESULT,
1816     #[cfg(feature = "Win32_Graphics_DirectComposition")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, animation: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1817     #[cfg(not(feature = "Win32_Graphics_DirectComposition"))] usize,
1818     #[cfg(feature = "Win32_Graphics_DirectComposition")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, animation: *const ::windows::runtime::RawPtr, cdimension: u32) -> ::windows::runtime::HRESULT,
1819     #[cfg(not(feature = "Win32_Graphics_DirectComposition"))] usize,
1820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: *mut f64) -> ::windows::runtime::HRESULT,
1821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: *mut f64, cdimension: u32) -> ::windows::runtime::HRESULT,
1822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, previousvalue: *mut f64) -> ::windows::runtime::HRESULT,
1823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, previousvalue: *mut f64, cdimension: u32) -> ::windows::runtime::HRESULT,
1824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32, cdimension: u32) -> ::windows::runtime::HRESULT,
1826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: *mut i32) -> ::windows::runtime::HRESULT,
1827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, finalvalue: *mut i32, cdimension: u32) -> ::windows::runtime::HRESULT,
1828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, previousvalue: *mut i32) -> ::windows::runtime::HRESULT,
1829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, previousvalue: *mut i32, cdimension: u32) -> ::windows::runtime::HRESULT,
1830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bound: f64) -> ::windows::runtime::HRESULT,
1832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bound: *const f64, cdimension: u32) -> ::windows::runtime::HRESULT,
1833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bound: f64) -> ::windows::runtime::HRESULT,
1834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bound: *const f64, cdimension: u32) -> ::windows::runtime::HRESULT,
1835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: UI_ANIMATION_ROUNDING_MODE) -> ::windows::runtime::HRESULT,
1836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: ::windows::runtime::RawPtr, id: u32) -> ::windows::runtime::HRESULT,
1837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, object: *mut ::windows::runtime::RawPtr, id: *mut u32) -> ::windows::runtime::HRESULT,
1838     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, fregisterfornextanimationevent: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1839     #[cfg(not(feature = "Win32_Foundation"))] usize,
1840     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, fregisterfornextanimationevent: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
1841     #[cfg(not(feature = "Win32_Foundation"))] usize,
1842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1843 );
1844 #[repr(transparent)]
1845 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1846 pub struct IUIAnimationVariableChangeHandler(::windows::runtime::IUnknown);
1847 impl IUIAnimationVariableChangeHandler {
OnValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>>(&self, storyboard: Param0, variable: Param1, newvalue: f64, previousvalue: f64) -> ::windows::runtime::Result<()>1848     pub unsafe fn OnValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>>(&self, storyboard: Param0, variable: Param1, newvalue: f64, previousvalue: f64) -> ::windows::runtime::Result<()> {
1849         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), storyboard.into_param().abi(), variable.into_param().abi(), ::std::mem::transmute(newvalue), ::std::mem::transmute(previousvalue)).ok()
1850     }
1851 }
1852 unsafe impl ::windows::runtime::Interface for IUIAnimationVariableChangeHandler {
1853     type Vtable = IUIAnimationVariableChangeHandler_abi;
1854     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1666758586, 34770, 17109, [191, 113, 130, 233, 25, 221, 88, 98]);
1855 }
1856 impl ::std::convert::From<IUIAnimationVariableChangeHandler> for ::windows::runtime::IUnknown {
from(value: IUIAnimationVariableChangeHandler) -> Self1857     fn from(value: IUIAnimationVariableChangeHandler) -> Self {
1858         unsafe { ::std::mem::transmute(value) }
1859     }
1860 }
1861 impl ::std::convert::From<&IUIAnimationVariableChangeHandler> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationVariableChangeHandler) -> Self1862     fn from(value: &IUIAnimationVariableChangeHandler) -> Self {
1863         ::std::convert::From::from(::std::clone::Clone::clone(value))
1864     }
1865 }
1866 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationVariableChangeHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1867     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1868         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1869     }
1870 }
1871 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationVariableChangeHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1872     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1873         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1874     }
1875 }
1876 #[repr(C)]
1877 #[doc(hidden)]
1878 pub struct IUIAnimationVariableChangeHandler_abi(
1879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, newvalue: f64, previousvalue: f64) -> ::windows::runtime::HRESULT,
1883 );
1884 #[repr(transparent)]
1885 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1886 pub struct IUIAnimationVariableChangeHandler2(::windows::runtime::IUnknown);
1887 impl IUIAnimationVariableChangeHandler2 {
OnValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>>(&self, storyboard: Param0, variable: Param1, newvalue: *const f64, previousvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<()>1888     pub unsafe fn OnValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>>(&self, storyboard: Param0, variable: Param1, newvalue: *const f64, previousvalue: *const f64, cdimension: u32) -> ::windows::runtime::Result<()> {
1889         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), storyboard.into_param().abi(), variable.into_param().abi(), ::std::mem::transmute(newvalue), ::std::mem::transmute(previousvalue), ::std::mem::transmute(cdimension)).ok()
1890     }
1891 }
1892 unsafe impl ::windows::runtime::Interface for IUIAnimationVariableChangeHandler2 {
1893     type Vtable = IUIAnimationVariableChangeHandler2_abi;
1894     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1672267986, 28334, 19376, [184, 121, 88, 109, 216, 207, 190, 66]);
1895 }
1896 impl ::std::convert::From<IUIAnimationVariableChangeHandler2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationVariableChangeHandler2) -> Self1897     fn from(value: IUIAnimationVariableChangeHandler2) -> Self {
1898         unsafe { ::std::mem::transmute(value) }
1899     }
1900 }
1901 impl ::std::convert::From<&IUIAnimationVariableChangeHandler2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationVariableChangeHandler2) -> Self1902     fn from(value: &IUIAnimationVariableChangeHandler2) -> Self {
1903         ::std::convert::From::from(::std::clone::Clone::clone(value))
1904     }
1905 }
1906 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationVariableChangeHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1907     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1908         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1909     }
1910 }
1911 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationVariableChangeHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1912     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1913         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1914     }
1915 }
1916 #[repr(C)]
1917 #[doc(hidden)]
1918 pub struct IUIAnimationVariableChangeHandler2_abi(
1919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, newvalue: *const f64, previousvalue: *const f64, cdimension: u32) -> ::windows::runtime::HRESULT,
1923 );
1924 #[repr(transparent)]
1925 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1926 pub struct IUIAnimationVariableCurveChangeHandler2(::windows::runtime::IUnknown);
1927 impl IUIAnimationVariableCurveChangeHandler2 {
OnCurveChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>>(&self, variable: Param0) -> ::windows::runtime::Result<()>1928     pub unsafe fn OnCurveChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>>(&self, variable: Param0) -> ::windows::runtime::Result<()> {
1929         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), variable.into_param().abi()).ok()
1930     }
1931 }
1932 unsafe impl ::windows::runtime::Interface for IUIAnimationVariableCurveChangeHandler2 {
1933     type Vtable = IUIAnimationVariableCurveChangeHandler2_abi;
1934     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1921605265, 325, 19489, [145, 146, 90, 171, 64, 237, 223, 128]);
1935 }
1936 impl ::std::convert::From<IUIAnimationVariableCurveChangeHandler2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationVariableCurveChangeHandler2) -> Self1937     fn from(value: IUIAnimationVariableCurveChangeHandler2) -> Self {
1938         unsafe { ::std::mem::transmute(value) }
1939     }
1940 }
1941 impl ::std::convert::From<&IUIAnimationVariableCurveChangeHandler2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationVariableCurveChangeHandler2) -> Self1942     fn from(value: &IUIAnimationVariableCurveChangeHandler2) -> Self {
1943         ::std::convert::From::from(::std::clone::Clone::clone(value))
1944     }
1945 }
1946 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationVariableCurveChangeHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1947     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1948         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1949     }
1950 }
1951 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationVariableCurveChangeHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1952     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1953         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1954     }
1955 }
1956 #[repr(C)]
1957 #[doc(hidden)]
1958 pub struct IUIAnimationVariableCurveChangeHandler2_abi(
1959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1963 );
1964 #[repr(transparent)]
1965 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1966 pub struct IUIAnimationVariableIntegerChangeHandler(::windows::runtime::IUnknown);
1967 impl IUIAnimationVariableIntegerChangeHandler {
OnIntegerValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>>(&self, storyboard: Param0, variable: Param1, newvalue: i32, previousvalue: i32) -> ::windows::runtime::Result<()>1968     pub unsafe fn OnIntegerValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationVariable>>(&self, storyboard: Param0, variable: Param1, newvalue: i32, previousvalue: i32) -> ::windows::runtime::Result<()> {
1969         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), storyboard.into_param().abi(), variable.into_param().abi(), ::std::mem::transmute(newvalue), ::std::mem::transmute(previousvalue)).ok()
1970     }
1971 }
1972 unsafe impl ::windows::runtime::Interface for IUIAnimationVariableIntegerChangeHandler {
1973     type Vtable = IUIAnimationVariableIntegerChangeHandler_abi;
1974     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3141408080, 13678, 17584, [153, 218, 133, 172, 96, 23, 134, 94]);
1975 }
1976 impl ::std::convert::From<IUIAnimationVariableIntegerChangeHandler> for ::windows::runtime::IUnknown {
from(value: IUIAnimationVariableIntegerChangeHandler) -> Self1977     fn from(value: IUIAnimationVariableIntegerChangeHandler) -> Self {
1978         unsafe { ::std::mem::transmute(value) }
1979     }
1980 }
1981 impl ::std::convert::From<&IUIAnimationVariableIntegerChangeHandler> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationVariableIntegerChangeHandler) -> Self1982     fn from(value: &IUIAnimationVariableIntegerChangeHandler) -> Self {
1983         ::std::convert::From::from(::std::clone::Clone::clone(value))
1984     }
1985 }
1986 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationVariableIntegerChangeHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1987     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1988         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1989     }
1990 }
1991 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationVariableIntegerChangeHandler {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1992     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1993         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1994     }
1995 }
1996 #[repr(C)]
1997 #[doc(hidden)]
1998 pub struct IUIAnimationVariableIntegerChangeHandler_abi(
1999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, newvalue: i32, previousvalue: i32) -> ::windows::runtime::HRESULT,
2003 );
2004 #[repr(transparent)]
2005 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2006 pub struct IUIAnimationVariableIntegerChangeHandler2(::windows::runtime::IUnknown);
2007 impl IUIAnimationVariableIntegerChangeHandler2 {
OnIntegerValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>>(&self, storyboard: Param0, variable: Param1, newvalue: *const i32, previousvalue: *const i32, cdimension: u32) -> ::windows::runtime::Result<()>2008     pub unsafe fn OnIntegerValueChanged<'a, Param0: ::windows::runtime::IntoParam<'a, IUIAnimationStoryboard2>, Param1: ::windows::runtime::IntoParam<'a, IUIAnimationVariable2>>(&self, storyboard: Param0, variable: Param1, newvalue: *const i32, previousvalue: *const i32, cdimension: u32) -> ::windows::runtime::Result<()> {
2009         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), storyboard.into_param().abi(), variable.into_param().abi(), ::std::mem::transmute(newvalue), ::std::mem::transmute(previousvalue), ::std::mem::transmute(cdimension)).ok()
2010     }
2011 }
2012 unsafe impl ::windows::runtime::Interface for IUIAnimationVariableIntegerChangeHandler2 {
2013     type Vtable = IUIAnimationVariableIntegerChangeHandler2_abi;
2014     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2191224049, 20282, 17426, [174, 9, 178, 67, 235, 76, 107, 88]);
2015 }
2016 impl ::std::convert::From<IUIAnimationVariableIntegerChangeHandler2> for ::windows::runtime::IUnknown {
from(value: IUIAnimationVariableIntegerChangeHandler2) -> Self2017     fn from(value: IUIAnimationVariableIntegerChangeHandler2) -> Self {
2018         unsafe { ::std::mem::transmute(value) }
2019     }
2020 }
2021 impl ::std::convert::From<&IUIAnimationVariableIntegerChangeHandler2> for ::windows::runtime::IUnknown {
from(value: &IUIAnimationVariableIntegerChangeHandler2) -> Self2022     fn from(value: &IUIAnimationVariableIntegerChangeHandler2) -> Self {
2023         ::std::convert::From::from(::std::clone::Clone::clone(value))
2024     }
2025 }
2026 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUIAnimationVariableIntegerChangeHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2027     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2028         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2029     }
2030 }
2031 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUIAnimationVariableIntegerChangeHandler2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2032     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2033         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2034     }
2035 }
2036 #[repr(C)]
2037 #[doc(hidden)]
2038 pub struct IUIAnimationVariableIntegerChangeHandler2_abi(
2039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storyboard: ::windows::runtime::RawPtr, variable: ::windows::runtime::RawPtr, newvalue: *const i32, previousvalue: *const i32, cdimension: u32) -> ::windows::runtime::HRESULT,
2043 );
2044 pub const UIAnimationManager: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1277150778, 26972, 18408, [163, 57, 26, 25, 75, 227, 208, 184]);
2045 pub const UIAnimationManager2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3529345090, 34948, 19018, [179, 33, 9, 19, 20, 55, 155, 221]);
2046 pub const UIAnimationTimer: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3217902092, 1718, 17284, [183, 104, 13, 170, 121, 44, 56, 14]);
2047 pub const UIAnimationTransitionFactory: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2325421277, 64727, 16796, [139, 68, 66, 253, 23, 219, 24, 135]);
2048 pub const UIAnimationTransitionFactory2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2217750423, 32635, 16448, [177, 144, 114, 172, 157, 24, 228, 32]);
2049 pub const UIAnimationTransitionLibrary: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(493036205, 43653, 20213, [168, 40, 134, 215, 16, 103, 209, 69]);
2050 pub const UIAnimationTransitionLibrary2: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2167379018, 50632, 19673, [176, 166, 179, 218, 128, 47, 34, 141]);
2051 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2052 #[repr(transparent)]
2053 pub struct UI_ANIMATION_DEPENDENCIES(pub u32);
2054 pub const UI_ANIMATION_DEPENDENCY_NONE: UI_ANIMATION_DEPENDENCIES = UI_ANIMATION_DEPENDENCIES(0u32);
2055 pub const UI_ANIMATION_DEPENDENCY_INTERMEDIATE_VALUES: UI_ANIMATION_DEPENDENCIES = UI_ANIMATION_DEPENDENCIES(1u32);
2056 pub const UI_ANIMATION_DEPENDENCY_FINAL_VALUE: UI_ANIMATION_DEPENDENCIES = UI_ANIMATION_DEPENDENCIES(2u32);
2057 pub const UI_ANIMATION_DEPENDENCY_FINAL_VELOCITY: UI_ANIMATION_DEPENDENCIES = UI_ANIMATION_DEPENDENCIES(4u32);
2058 pub const UI_ANIMATION_DEPENDENCY_DURATION: UI_ANIMATION_DEPENDENCIES = UI_ANIMATION_DEPENDENCIES(8u32);
2059 impl ::std::convert::From<u32> for UI_ANIMATION_DEPENDENCIES {
from(value: u32) -> Self2060     fn from(value: u32) -> Self {
2061         Self(value)
2062     }
2063 }
2064 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_DEPENDENCIES {
2065     type Abi = Self;
2066     type DefaultType = Self;
2067 }
2068 impl ::std::ops::BitOr for UI_ANIMATION_DEPENDENCIES {
2069     type Output = Self;
bitor(self, rhs: Self) -> Self2070     fn bitor(self, rhs: Self) -> Self {
2071         Self(self.0 | rhs.0)
2072     }
2073 }
2074 impl ::std::ops::BitAnd for UI_ANIMATION_DEPENDENCIES {
2075     type Output = Self;
bitand(self, rhs: Self) -> Self2076     fn bitand(self, rhs: Self) -> Self {
2077         Self(self.0 & rhs.0)
2078     }
2079 }
2080 impl ::std::ops::BitOrAssign for UI_ANIMATION_DEPENDENCIES {
bitor_assign(&mut self, rhs: Self)2081     fn bitor_assign(&mut self, rhs: Self) {
2082         self.0.bitor_assign(rhs.0)
2083     }
2084 }
2085 impl ::std::ops::BitAndAssign for UI_ANIMATION_DEPENDENCIES {
bitand_assign(&mut self, rhs: Self)2086     fn bitand_assign(&mut self, rhs: Self) {
2087         self.0.bitand_assign(rhs.0)
2088     }
2089 }
2090 impl ::std::ops::Not for UI_ANIMATION_DEPENDENCIES {
2091     type Output = Self;
not(self) -> Self2092     fn not(self) -> Self {
2093         Self(self.0.not())
2094     }
2095 }
2096 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2097 #[repr(transparent)]
2098 pub struct UI_ANIMATION_IDLE_BEHAVIOR(pub i32);
2099 pub const UI_ANIMATION_IDLE_BEHAVIOR_CONTINUE: UI_ANIMATION_IDLE_BEHAVIOR = UI_ANIMATION_IDLE_BEHAVIOR(0i32);
2100 pub const UI_ANIMATION_IDLE_BEHAVIOR_DISABLE: UI_ANIMATION_IDLE_BEHAVIOR = UI_ANIMATION_IDLE_BEHAVIOR(1i32);
2101 impl ::std::convert::From<i32> for UI_ANIMATION_IDLE_BEHAVIOR {
from(value: i32) -> Self2102     fn from(value: i32) -> Self {
2103         Self(value)
2104     }
2105 }
2106 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_IDLE_BEHAVIOR {
2107     type Abi = Self;
2108     type DefaultType = Self;
2109 }
2110 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
2111 #[repr(transparent)]
2112 pub struct UI_ANIMATION_KEYFRAME(pub isize);
2113 impl ::std::default::Default for UI_ANIMATION_KEYFRAME {
default() -> Self2114     fn default() -> Self {
2115         unsafe { ::std::mem::zeroed() }
2116     }
2117 }
2118 unsafe impl ::windows::runtime::Handle for UI_ANIMATION_KEYFRAME {}
2119 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_KEYFRAME {
2120     type Abi = Self;
2121     type DefaultType = Self;
2122 }
2123 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2124 #[repr(transparent)]
2125 pub struct UI_ANIMATION_MANAGER_STATUS(pub i32);
2126 pub const UI_ANIMATION_MANAGER_IDLE: UI_ANIMATION_MANAGER_STATUS = UI_ANIMATION_MANAGER_STATUS(0i32);
2127 pub const UI_ANIMATION_MANAGER_BUSY: UI_ANIMATION_MANAGER_STATUS = UI_ANIMATION_MANAGER_STATUS(1i32);
2128 impl ::std::convert::From<i32> for UI_ANIMATION_MANAGER_STATUS {
from(value: i32) -> Self2129     fn from(value: i32) -> Self {
2130         Self(value)
2131     }
2132 }
2133 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_MANAGER_STATUS {
2134     type Abi = Self;
2135     type DefaultType = Self;
2136 }
2137 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2138 #[repr(transparent)]
2139 pub struct UI_ANIMATION_MODE(pub i32);
2140 pub const UI_ANIMATION_MODE_DISABLED: UI_ANIMATION_MODE = UI_ANIMATION_MODE(0i32);
2141 pub const UI_ANIMATION_MODE_SYSTEM_DEFAULT: UI_ANIMATION_MODE = UI_ANIMATION_MODE(1i32);
2142 pub const UI_ANIMATION_MODE_ENABLED: UI_ANIMATION_MODE = UI_ANIMATION_MODE(2i32);
2143 impl ::std::convert::From<i32> for UI_ANIMATION_MODE {
from(value: i32) -> Self2144     fn from(value: i32) -> Self {
2145         Self(value)
2146     }
2147 }
2148 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_MODE {
2149     type Abi = Self;
2150     type DefaultType = Self;
2151 }
2152 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2153 #[repr(transparent)]
2154 pub struct UI_ANIMATION_PRIORITY_EFFECT(pub i32);
2155 pub const UI_ANIMATION_PRIORITY_EFFECT_FAILURE: UI_ANIMATION_PRIORITY_EFFECT = UI_ANIMATION_PRIORITY_EFFECT(0i32);
2156 pub const UI_ANIMATION_PRIORITY_EFFECT_DELAY: UI_ANIMATION_PRIORITY_EFFECT = UI_ANIMATION_PRIORITY_EFFECT(1i32);
2157 impl ::std::convert::From<i32> for UI_ANIMATION_PRIORITY_EFFECT {
from(value: i32) -> Self2158     fn from(value: i32) -> Self {
2159         Self(value)
2160     }
2161 }
2162 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_PRIORITY_EFFECT {
2163     type Abi = Self;
2164     type DefaultType = Self;
2165 }
2166 pub const UI_ANIMATION_REPEAT_INDEFINITELY: i32 = -1i32;
2167 pub const UI_ANIMATION_REPEAT_INDEFINITELY_CONCLUDE_AT_END: i32 = -1i32;
2168 pub const UI_ANIMATION_REPEAT_INDEFINITELY_CONCLUDE_AT_START: i32 = -2i32;
2169 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2170 #[repr(transparent)]
2171 pub struct UI_ANIMATION_REPEAT_MODE(pub i32);
2172 pub const UI_ANIMATION_REPEAT_MODE_NORMAL: UI_ANIMATION_REPEAT_MODE = UI_ANIMATION_REPEAT_MODE(0i32);
2173 pub const UI_ANIMATION_REPEAT_MODE_ALTERNATE: UI_ANIMATION_REPEAT_MODE = UI_ANIMATION_REPEAT_MODE(1i32);
2174 impl ::std::convert::From<i32> for UI_ANIMATION_REPEAT_MODE {
from(value: i32) -> Self2175     fn from(value: i32) -> Self {
2176         Self(value)
2177     }
2178 }
2179 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_REPEAT_MODE {
2180     type Abi = Self;
2181     type DefaultType = Self;
2182 }
2183 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2184 #[repr(transparent)]
2185 pub struct UI_ANIMATION_ROUNDING_MODE(pub i32);
2186 pub const UI_ANIMATION_ROUNDING_NEAREST: UI_ANIMATION_ROUNDING_MODE = UI_ANIMATION_ROUNDING_MODE(0i32);
2187 pub const UI_ANIMATION_ROUNDING_FLOOR: UI_ANIMATION_ROUNDING_MODE = UI_ANIMATION_ROUNDING_MODE(1i32);
2188 pub const UI_ANIMATION_ROUNDING_CEILING: UI_ANIMATION_ROUNDING_MODE = UI_ANIMATION_ROUNDING_MODE(2i32);
2189 impl ::std::convert::From<i32> for UI_ANIMATION_ROUNDING_MODE {
from(value: i32) -> Self2190     fn from(value: i32) -> Self {
2191         Self(value)
2192     }
2193 }
2194 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_ROUNDING_MODE {
2195     type Abi = Self;
2196     type DefaultType = Self;
2197 }
2198 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2199 #[repr(transparent)]
2200 pub struct UI_ANIMATION_SCHEDULING_RESULT(pub i32);
2201 pub const UI_ANIMATION_SCHEDULING_UNEXPECTED_FAILURE: UI_ANIMATION_SCHEDULING_RESULT = UI_ANIMATION_SCHEDULING_RESULT(0i32);
2202 pub const UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY: UI_ANIMATION_SCHEDULING_RESULT = UI_ANIMATION_SCHEDULING_RESULT(1i32);
2203 pub const UI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED: UI_ANIMATION_SCHEDULING_RESULT = UI_ANIMATION_SCHEDULING_RESULT(2i32);
2204 pub const UI_ANIMATION_SCHEDULING_SUCCEEDED: UI_ANIMATION_SCHEDULING_RESULT = UI_ANIMATION_SCHEDULING_RESULT(3i32);
2205 pub const UI_ANIMATION_SCHEDULING_DEFERRED: UI_ANIMATION_SCHEDULING_RESULT = UI_ANIMATION_SCHEDULING_RESULT(4i32);
2206 impl ::std::convert::From<i32> for UI_ANIMATION_SCHEDULING_RESULT {
from(value: i32) -> Self2207     fn from(value: i32) -> Self {
2208         Self(value)
2209     }
2210 }
2211 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_SCHEDULING_RESULT {
2212     type Abi = Self;
2213     type DefaultType = Self;
2214 }
2215 pub const UI_ANIMATION_SECONDS_EVENTUALLY: i32 = -1i32;
2216 pub const UI_ANIMATION_SECONDS_INFINITE: i32 = -1i32;
2217 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2218 #[repr(transparent)]
2219 pub struct UI_ANIMATION_SLOPE(pub i32);
2220 pub const UI_ANIMATION_SLOPE_INCREASING: UI_ANIMATION_SLOPE = UI_ANIMATION_SLOPE(0i32);
2221 pub const UI_ANIMATION_SLOPE_DECREASING: UI_ANIMATION_SLOPE = UI_ANIMATION_SLOPE(1i32);
2222 impl ::std::convert::From<i32> for UI_ANIMATION_SLOPE {
from(value: i32) -> Self2223     fn from(value: i32) -> Self {
2224         Self(value)
2225     }
2226 }
2227 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_SLOPE {
2228     type Abi = Self;
2229     type DefaultType = Self;
2230 }
2231 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2232 #[repr(transparent)]
2233 pub struct UI_ANIMATION_STORYBOARD_STATUS(pub i32);
2234 pub const UI_ANIMATION_STORYBOARD_BUILDING: UI_ANIMATION_STORYBOARD_STATUS = UI_ANIMATION_STORYBOARD_STATUS(0i32);
2235 pub const UI_ANIMATION_STORYBOARD_SCHEDULED: UI_ANIMATION_STORYBOARD_STATUS = UI_ANIMATION_STORYBOARD_STATUS(1i32);
2236 pub const UI_ANIMATION_STORYBOARD_CANCELLED: UI_ANIMATION_STORYBOARD_STATUS = UI_ANIMATION_STORYBOARD_STATUS(2i32);
2237 pub const UI_ANIMATION_STORYBOARD_PLAYING: UI_ANIMATION_STORYBOARD_STATUS = UI_ANIMATION_STORYBOARD_STATUS(3i32);
2238 pub const UI_ANIMATION_STORYBOARD_TRUNCATED: UI_ANIMATION_STORYBOARD_STATUS = UI_ANIMATION_STORYBOARD_STATUS(4i32);
2239 pub const UI_ANIMATION_STORYBOARD_FINISHED: UI_ANIMATION_STORYBOARD_STATUS = UI_ANIMATION_STORYBOARD_STATUS(5i32);
2240 pub const UI_ANIMATION_STORYBOARD_READY: UI_ANIMATION_STORYBOARD_STATUS = UI_ANIMATION_STORYBOARD_STATUS(6i32);
2241 pub const UI_ANIMATION_STORYBOARD_INSUFFICIENT_PRIORITY: UI_ANIMATION_STORYBOARD_STATUS = UI_ANIMATION_STORYBOARD_STATUS(7i32);
2242 impl ::std::convert::From<i32> for UI_ANIMATION_STORYBOARD_STATUS {
from(value: i32) -> Self2243     fn from(value: i32) -> Self {
2244         Self(value)
2245     }
2246 }
2247 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_STORYBOARD_STATUS {
2248     type Abi = Self;
2249     type DefaultType = Self;
2250 }
2251 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2252 #[repr(transparent)]
2253 pub struct UI_ANIMATION_TIMER_CLIENT_STATUS(pub i32);
2254 pub const UI_ANIMATION_TIMER_CLIENT_IDLE: UI_ANIMATION_TIMER_CLIENT_STATUS = UI_ANIMATION_TIMER_CLIENT_STATUS(0i32);
2255 pub const UI_ANIMATION_TIMER_CLIENT_BUSY: UI_ANIMATION_TIMER_CLIENT_STATUS = UI_ANIMATION_TIMER_CLIENT_STATUS(1i32);
2256 impl ::std::convert::From<i32> for UI_ANIMATION_TIMER_CLIENT_STATUS {
from(value: i32) -> Self2257     fn from(value: i32) -> Self {
2258         Self(value)
2259     }
2260 }
2261 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_TIMER_CLIENT_STATUS {
2262     type Abi = Self;
2263     type DefaultType = Self;
2264 }
2265 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2266 #[repr(transparent)]
2267 pub struct UI_ANIMATION_UPDATE_RESULT(pub i32);
2268 pub const UI_ANIMATION_UPDATE_NO_CHANGE: UI_ANIMATION_UPDATE_RESULT = UI_ANIMATION_UPDATE_RESULT(0i32);
2269 pub const UI_ANIMATION_UPDATE_VARIABLES_CHANGED: UI_ANIMATION_UPDATE_RESULT = UI_ANIMATION_UPDATE_RESULT(1i32);
2270 impl ::std::convert::From<i32> for UI_ANIMATION_UPDATE_RESULT {
from(value: i32) -> Self2271     fn from(value: i32) -> Self {
2272         Self(value)
2273     }
2274 }
2275 unsafe impl ::windows::runtime::Abi for UI_ANIMATION_UPDATE_RESULT {
2276     type Abi = Self;
2277     type DefaultType = Self;
2278 }
2279